Note that all users who use Vital DB, an open biosignal dataset, must agree to the Data Use Agreement below. If you do not agree, please close this window. The Data Use Agreement is available here: https://vitaldb.net/dataset/#h.vcpgs1yemdb5
For the Project Draft submission see the DL4H_Team_24_Project_Draft.ipynb notebook in the project repository.
The project repository can be found at: https://github.com/abarrie2/cs598-dlh-project
This project aims to reproduce findings from the paper titled "Predicting intraoperative hypotension using deep learning with waveforms of arterial blood pressure, electroencephalogram, and electrocardiogram: Retrospective study" by Jo Y-Y et al. (2022) [1]. This study introduces a deep learning model that predicts intraoperative hypotension (IOH) events before they occur, utilizing a combination of arterial blood pressure (ABP), electroencephalogram (EEG), and electrocardiogram (ECG) signals.
Intraoperative hypotension (IOH) is a common and significant surgical complication defined by a mean arterial pressure drop below 65 mmHg. It is associated with increased risks of myocardial infarction, acute kidney injury, and heightened postoperative mortality. Effective prediction and timely intervention can substantially enhance patient outcomes.
Initial attempts to predict IOH primarily used arterial blood pressure (ABP) waveforms. A foundational study by Hatib F et al. (2018) titled "Machine-learning Algorithm to Predict Hypotension Based on High-fidelity Arterial Pressure Waveform Analysis" [2] showed that machine learning could forecast IOH events using ABP with reasonable accuracy. This finding spurred further research into utilizing various physiological signals for IOH prediction.
Subsequent advancements included the development of the Acumen™ hypotension prediction index, which was studied in "AcumenTM hypotension prediction index guidance for prevention and treatment of hypotension in noncardiac surgery: a prospective, single-arm, multicenter trial" by Bao X et al. (2024) [3]. This trial integrated a hypotension prediction index into blood pressure monitoring equipment, demonstrating its effectiveness in reducing the number and duration of IOH events during surgeries. Further study is needed to determine whether this resultant reduction in IOH events transalates into improved postoperative patient outcomes.
Building on these advancements, the paper by Jo Y-Y et al. (2022) proposes a deep learning approach that enhances prediction accuracy by incorporating EEG and ECG signals along with ABP. This multi-modal method, evaluated over prediction windows of 3, 5, 10, and 15 minutes, aims to provide a comprehensive physiological profile that could predict IOH more accurately and earlier. Their results indicate that the combination of ABP and EEG significantly improves performance metrics such as AUROC and AUPRC, outperforming models that use fewer signals or different combinations.
Our project seeks to reproduce and verify Jo Y-Y et al.'s results to assess whether this integrated approach can indeed improve IOH prediction accuracy, thereby potentially enhancing surgical safety and patient outcomes.
The original paper investigated the following hypotheses:
Results were compared using AUROC and AUPRC scores. Based on the results described in the original paper, we expect that Hypothesis 2 will be confirmed, and that Hypotheses 1 and 3 will not be confirmed.
In order to perform the corresponding experiments, we will implement a CNN-based model that can be configured to train and infer using the following four model variations:
We will measure the performance of these configurations using the same AUROC and AUPRC metrics as used in the original paper. To test hypothesis 1 we will compare the AUROC and AUPRC measures between model variation 1 and model variation 2. To test hypothesis 2 we will compare the AUROC and AUPRC measures between model variation 1 and model variation 3. To test hypothesis 3 we will compare the AUROC and AUPRC measures between model variation 1 and model variation 4. For all of the above measures and experiment combinations, we will operate multiple experiments where the time-to-IOH event prediction will use the following prediction windows:
In the event that we are compute-bound, we will prioritize the 3-minute prediction window experiments as they are the most relevant to the original paper's findings.
The predictive power of ABP, ECG and ABP + ECG models at 3-, 5-, 10- and 15-minute prediction windows:
In order to demonstrate the functioning of the code in a short (ie, <8 minute limit) the following options and modifications were used:
MAX_CASES was set to 20. The total number of cases to be used in the full training set is 3296, but the smaller numbers allows demonstration of each section of the pipeline.vitaldb_cache is prepopulated in Google Colab. The cache file is approx. 800MB and contains the raw and mini-fied copies of the source dataset and is downloaded from Google Drive. This is much faster than using the vitaldb API, but is again only a fraction of the data. The full dataset can be downloaded with the API or prepopulated by following the instructions in the "Bulk Data Download" section below.max_epochs is set to 6. With the small dataset, training is fast and shows the decreasing training and validation losses. In the full model run, max_epochs will be set to 100. In both cases early stopping is enabled and will stop training if the validation losses stop decreasing for five consecutive epochs.The methodology section is composed of the following subsections: Environment, Data and Model.
The environment setup differs based on whether you are running the code on a local machine or on Google Colab. The following sections provide instructions for setting up the environment in each case.
Create conda environment for the project using the environment.yml file:
conda env create --prefix .envs/dlh-team24 -f environment.yml
Activate the environment with:
conda activate .envs/dlh-team24
The following code snippet installs the required packages and downloads the necessary files in a Google Colab environment:
# Google Colab environments have a `/content` directory. Use this as a proxy for running Colab-only code
COLAB_ENV = "google.colab" in str(get_ipython())
if COLAB_ENV:
#install vitaldb
%pip install vitaldb
# Executing in Colab therefore download cached preprocessed data.
# TODO: Integrate this with the setup local cache data section below.
# Check for file existence before overwriting.
import gdown
gdown.download(id="15b5Nfhgj3McSO2GmkVUKkhSSxQXX14hJ", output="vitaldb_cache.tgz")
!tar -zxf vitaldb_cache.tgz
# Download sqi_filter.csv from github repo
!wget https://raw.githubusercontent.com/abarrie2/cs598-dlh-project/main/sqi_filter.csv
All other required packages are already installed in the Google Colab environment.
# Import packages
import os
import random
import sys
import uuid
import copy
from collections import defaultdict
from timeit import default_timer as timer
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, roc_auc_score, precision_recall_curve, auc, confusion_matrix
from sklearn.metrics import RocCurveDisplay, PrecisionRecallDisplay, average_precision_score
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
import torch
from torch.utils.data import Dataset
import vitaldb
import h5py
import torch.nn as nn
import torch.nn.functional as F
from tqdm import tqdm
from datetime import datetime
Set random seeds to generate consistent results:
RANDOM_SEED = 42
def reset_random_state():
random.seed(RANDOM_SEED)
np.random.seed(RANDOM_SEED)
torch.manual_seed(RANDOM_SEED)
if torch.cuda.is_available():
torch.cuda.manual_seed(RANDOM_SEED)
torch.cuda.manual_seed_all(RANDOM_SEED)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
os.environ["PYTHONHASHSEED"] = str(RANDOM_SEED)
reset_random_state()
Set device to GPU or MPS if available
device = torch.device("cuda" if torch.cuda.is_available() else "mps" if (torch.backends.mps.is_available() and torch.backends.mps.is_built()) else "cpu")
print(f"Using device: {device}")
Using device: mps
Define class to print to console and simultaneously save to file:
class ForkedStdout:
def __init__(self, file_path):
self.file = open(file_path, 'w')
self.stdout = sys.stdout
def write(self, message):
self.stdout.write(message)
self.file.write(message)
def flush(self):
self.stdout.flush()
self.file.flush()
def __enter__(self):
sys.stdout = self
def __exit__(self, exc_type, exc_val, exc_tb):
sys.stdout = self.stdout
self.file.close()
Data for this project is sourced from the open biosignal VitalDB dataset as described in "VitalDB, a high-fidelity multi-parameter vital signs database in surgical patients" by Lee H-C et al. (2022) [4], which contains perioperative vital signs and numerical data from 6,388 cases of non-cardiac (general, thoracic, urological, and gynecological) surgery patients who underwent routine or emergency surgery at Seoul National University Hospital between 2016 and 2017. The dataset includes ABP, ECG, and EEG signals, as well as other physiological data. The dataset is available through an API and Python library, and at PhysioNet: https://physionet.org/content/vitaldb/1.0.0/
Characteristics of the dataset: | Characteristic | Value | Details | |-----------------------|-----------------------------|------------------------| | Total number of cases | 6,388 | | | Sex (male) | 3,243 (50.8%) | | | Age (years) | 59 | Range: 48-68 | | Height (cm) | 162 | Range: 156-169 | | Weight (kg) | 61 | Range: 53-69 | | Tram-Rac 4A tracks | 6,355 (99.5%) | Sampling rate: 500Hz | | BIS Vista tracks | 5,566 (87.1%) | Sampling rate: 128Hz | | Case duration (min) | 189 | Range: 27-1041 |
Labels are only known after processing the data. In the original paper, there were an average of 1.6 IOH events per case and 5.7 non-events per case so we expect approximately 10,221 IOH events and 364,116 non-events in the dataset.
Data will be processed as follows:
VitalDB data is static, so local copies can be stored and reused to avoid expensive downloads and to speed up data processing.
The default directory defined below is in the project .gitignore file. If this is modified, the new directory should also be added to the project .gitignore.
VITALDB_CACHE = './vitaldb_cache'
VITAL_ALL = f"{VITALDB_CACHE}/vital_all"
VITAL_MINI = f"{VITALDB_CACHE}/vital_mini"
VITAL_METADATA = f"{VITALDB_CACHE}/metadata"
VITAL_MODELS = f"{VITALDB_CACHE}/models"
VITAL_RUNS = f"{VITALDB_CACHE}/runs"
VITAL_PREPROCESS_SCRATCH = f"{VITALDB_CACHE}/data_scratch"
VITAL_EXTRACTED_SEGMENTS = f"{VITALDB_CACHE}/segments"
TRACK_CACHE = None
SEGMENT_CACHE = None
# when USE_MEMORY_CACHING is enabled, track data will be persisted in an in-memory cache. Not useful once we have already pre-extracted all event segments
# DON'T USE: Stores items in memory that are later not used. Causes OOM on segment extraction.
USE_MEMORY_CACHING = False
# When RESET_CACHE is set to True, it will ensure the TRACK_CACHE is disposed and recreated when we do dataset initialization.
# Use as a shortcut to wiping cache rather than restarting kernel
RESET_CACHE = False
PREDICTION_WINDOW = 15
#PREDICTION_WINDOW = 'ALL'
ALL_PREDICTION_WINDOWS = [3, 5, 10, 15]
# Maximum number of cases of interest for which to download data.
# Set to a small value (ex: 20) for demo purposes, else set to None to disable and download and process all.
MAX_CASES = None
#MAX_CASES = 300
# Preloading Cases: when true, all matched cases will have the _mini tracks extracted and put into in-mem dict
PRELOADING_CASES = False
PRELOADING_SEGMENTS = True
# Perform Data Preprocessing: do we want to take the raw vital file and extract segments of interest for training?
PERFORM_DATA_PREPROCESSING = False
if not os.path.exists(VITALDB_CACHE):
os.mkdir(VITALDB_CACHE)
if not os.path.exists(VITAL_ALL):
os.mkdir(VITAL_ALL)
if not os.path.exists(VITAL_MINI):
os.mkdir(VITAL_MINI)
if not os.path.exists(VITAL_METADATA):
os.mkdir(VITAL_METADATA)
if not os.path.exists(VITAL_MODELS):
os.mkdir(VITAL_MODELS)
if not os.path.exists(VITAL_RUNS):
os.mkdir(VITAL_RUNS)
if not os.path.exists(VITAL_PREPROCESS_SCRATCH):
os.mkdir(VITAL_PREPROCESS_SCRATCH)
if not os.path.exists(VITAL_EXTRACTED_SEGMENTS):
os.mkdir(VITAL_EXTRACTED_SEGMENTS)
print(os.listdir(VITALDB_CACHE))
['segments_filter_neg', 'segments_bak', 'runs_old', '.DS_Store', 'segments_filter_neg_pos', 'vital_mini_bak_0501', 'vital_all', 'segments_sizes_sp.txt', 'models_all_cases_baseline', 'models', 'docs', 'vital_mini.tar', 'data_scratch', 'segments_md5_sp.txt', 'vital_file_md5_mw.txt', 'segments_bak_0501', 'osfs', 'runs_03_15', 'vital_mini', 'segments_filter_none', 'vital_file_mini_md5_sp.txt', 'vital_file_mini_file_sizes_sp.txt', 'runs', 'metadata', 'segments', 'models_old', 'vital_file_md5_sp.txt']
This step is not required, but will significantly speed up downstream processing and avoid a high volume of API requests to the VitalDB web site.
The cache population code checks if the .vital files are locally available, and can be populated by calling the vitaldb API or by manually prepopulating the cache (recommended)
wget -r -N -c -np https://physionet.org/files/vitaldb/1.0.0/ to download the files in a terminalvital_files into the ${VITAL_ALL} directory.# Returns the Pandas DataFrame for the specified dataset.
# One of 'cases', 'labs', or 'trks'
# If the file exists locally, create and return the DataFrame.
# Else, download and cache the csv first, then return the DataFrame.
def vitaldb_dataframe_loader(dataset_name):
if dataset_name not in ['cases', 'labs', 'trks']:
raise ValueError(f'Invalid dataset name: {dataset_name}')
file_path = f'{VITAL_METADATA}/{dataset_name}.csv'
if os.path.isfile(file_path):
print(f'{dataset_name}.csv exists locally.')
df = pd.read_csv(file_path)
return df
else:
print(f'downloading {dataset_name} and storing in the local cache for future reuse.')
df = pd.read_csv(f'https://api.vitaldb.net/{dataset_name}')
df.to_csv(file_path, index=False)
return df
cases = vitaldb_dataframe_loader('cases')
cases = cases.set_index('caseid')
cases.shape
cases.csv exists locally.
(6388, 73)
cases.index.nunique()
6388
cases.head()
| subjectid | casestart | caseend | anestart | aneend | opstart | opend | adm | dis | icu_days | ... | intraop_colloid | intraop_ppf | intraop_mdz | intraop_ftn | intraop_rocu | intraop_vecu | intraop_eph | intraop_phe | intraop_epi | intraop_ca | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| caseid | |||||||||||||||||||||
| 1 | 5955 | 0 | 11542 | -552 | 10848.0 | 1668 | 10368 | -236220 | 627780 | 0 | ... | 0 | 120 | 0.0 | 100 | 70 | 0 | 10 | 0 | 0 | 0 |
| 2 | 2487 | 0 | 15741 | -1039 | 14921.0 | 1721 | 14621 | -221160 | 1506840 | 0 | ... | 0 | 150 | 0.0 | 0 | 100 | 0 | 20 | 0 | 0 | 0 |
| 3 | 2861 | 0 | 4394 | -590 | 4210.0 | 1090 | 3010 | -218640 | 40560 | 0 | ... | 0 | 0 | 0.0 | 0 | 50 | 0 | 0 | 0 | 0 | 0 |
| 4 | 1903 | 0 | 20990 | -778 | 20222.0 | 2522 | 17822 | -201120 | 576480 | 1 | ... | 0 | 80 | 0.0 | 100 | 100 | 0 | 50 | 0 | 0 | 0 |
| 5 | 4416 | 0 | 21531 | -1009 | 22391.0 | 2591 | 20291 | -67560 | 3734040 | 13 | ... | 0 | 0 | 0.0 | 0 | 160 | 0 | 10 | 900 | 0 | 2100 |
5 rows × 73 columns
cases['sex'].value_counts()
sex M 3243 F 3145 Name: count, dtype: int64
trks = vitaldb_dataframe_loader('trks')
trks = trks.set_index('caseid')
trks.shape
trks.csv exists locally.
(486449, 2)
trks.index.nunique()
6388
trks.groupby('caseid')[['tid']].count().plot();
trks.groupby('caseid')[['tid']].count().hist();
trks.groupby('tname').count().sort_values(by='tid', ascending=False)
| tid | |
|---|---|
| tname | |
| Solar8000/HR | 6387 |
| Solar8000/PLETH_SPO2 | 6386 |
| Solar8000/PLETH_HR | 6386 |
| Primus/CO2 | 6362 |
| Primus/PAMB_MBAR | 6361 |
| ... | ... |
| Orchestra/AMD_VOL | 1 |
| Solar8000/ST_V5 | 1 |
| Orchestra/NPS_VOL | 1 |
| Orchestra/AMD_RATE | 1 |
| Orchestra/VEC_VOL | 1 |
196 rows × 1 columns
SNUADC/ART
arterial blood pressure waveform
Parameter, Description, Type/Hz, Unit
SNUADC/ART, Arterial pressure wave, W/500, mmHg
trks[trks['tname'].str.contains('SNUADC/ART')].shape
(3645, 2)
SNUADC/ECG_II
electrocardiogram waveform
Parameter, Description, Type/Hz, Unit
SNUADC/ECG_II, ECG lead II wave, W/500, mV
trks[trks['tname'].str.contains('SNUADC/ECG_II')].shape
(6355, 2)
BIS/EEG1_WAV
electroencephalogram waveform
Parameter, Description, Type/Hz, Unit
BIS/EEG1_WAV, EEG wave from channel 1, W/128, uV
trks[trks['tname'].str.contains('BIS/EEG1_WAV')].shape
(5871, 2)
These are the subset of case ids for which modelling and analysis will be performed based upon inclusion criteria and waveform data availability.
# TRACK NAMES is used for metadata analysis via API
TRACK_NAMES = ['SNUADC/ART', 'SNUADC/ECG_II', 'BIS/EEG1_WAV']
TRACK_SRATES = [500, 500, 128]
# EXTRACTION TRACK NAMES adds the EVENT track which is only used when doing actual file i/o
EXTRACTION_TRACK_NAMES = ['SNUADC/ART', 'SNUADC/ECG_II', 'BIS/EEG1_WAV', 'EVENT']
EXTRACTION_TRACK_SRATES = [500, 500, 128, 1]
# As in the paper, select cases which meet the following criteria:
#
# For patients, the inclusion criteria were as follows:
# (1) adults (age >= 18)
# (2) administered general anaesthesia
# (3) undergone non-cardiac surgery.
#
# For waveform data, the inclusion criteria were as follows:
# (1) no missing monitoring for ABP, ECG, and EEG waveforms
# (2) no cases containing false events or non-events due to poor signal quality
# (checked in second stage of data preprocessing)
# Adult
inclusion_1 = cases.loc[cases['age'] >= 18].index
print(f'{len(cases)-len(inclusion_1)} cases excluded, {len(inclusion_1)} remaining due to age criteria')
# General Anesthesia
inclusion_2 = cases.loc[cases['ane_type'] == 'General'].index
print(f'{len(cases)-len(inclusion_2)} cases excluded, {len(inclusion_2)} remaining due to anesthesia criteria')
# Non-cardiac surgery
inclusion_3 = cases.loc[
~cases['opname'].str.contains("cardiac", case=False)
& ~cases['opname'].str.contains("aneurysmal", case=False)
].index
print(f'{len(cases)-len(inclusion_3)} cases excluded, {len(inclusion_3)} remaining due to non-cardiac surgery criteria')
# ABP, ECG, EEG waveforms
inclusion_4 = trks.loc[trks['tname'].isin(TRACK_NAMES)].index.value_counts()
inclusion_4 = inclusion_4[inclusion_4 == len(TRACK_NAMES)].index
print(f'{len(cases)-len(inclusion_4)} cases excluded, {len(inclusion_4)} remaining due to missing waveform data')
# SQI filter
# NOTE: this depends on a sqi_filter.csv generated by external processing
inclusion_5 = pd.read_csv('sqi_filter.csv', header=None, names=['caseid','sqi']).set_index('caseid').index
print(f'{len(cases)-len(inclusion_5)} cases excluded, {len(inclusion_5)} remaining due to SQI threshold not being met')
# Only include cases with known good waveforms.
exclusion_6 = pd.read_csv('malformed_tracks_filter.csv', header=None, names=['caseid']).set_index('caseid').index
inclusion_6 = cases.index.difference(exclusion_6)
print(f'{len(cases)-len(inclusion_6)} cases excluded, {len(inclusion_6)} remaining due to malformed waveforms')
cases_of_interest_idx = inclusion_1 \
.intersection(inclusion_2) \
.intersection(inclusion_3) \
.intersection(inclusion_4) \
.intersection(inclusion_5) \
.intersection(inclusion_6)
cases_of_interest = cases.loc[cases_of_interest_idx]
print()
print(f'{cases_of_interest_idx.shape[0]} out of {cases.shape[0]} total cases remaining after exclusions applied')
# Trim cases of interest to MAX_CASES
if MAX_CASES:
cases_of_interest_idx = cases_of_interest_idx[:MAX_CASES]
print(f'{cases_of_interest_idx.shape[0]} cases of interest selected')
57 cases excluded, 6331 remaining due to age criteria 345 cases excluded, 6043 remaining due to anesthesia criteria 14 cases excluded, 6374 remaining due to non-cardiac surgery criteria 3019 cases excluded, 3369 remaining due to missing waveform data 0 cases excluded, 6388 remaining due to SQI threshold not being met 533 cases excluded, 5855 remaining due to malformed waveforms 2763 out of 6388 total cases remaining after exclusions applied 2763 cases of interest selected
cases_of_interest.head(n=5)
| subjectid | casestart | caseend | anestart | aneend | opstart | opend | adm | dis | icu_days | ... | intraop_colloid | intraop_ppf | intraop_mdz | intraop_ftn | intraop_rocu | intraop_vecu | intraop_eph | intraop_phe | intraop_epi | intraop_ca | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| caseid | |||||||||||||||||||||
| 1 | 5955 | 0 | 11542 | -552 | 10848.0 | 1668 | 10368 | -236220 | 627780 | 0 | ... | 0 | 120 | 0.0 | 100 | 70 | 0 | 10 | 0 | 0 | 0 |
| 4 | 1903 | 0 | 20990 | -778 | 20222.0 | 2522 | 17822 | -201120 | 576480 | 1 | ... | 0 | 80 | 0.0 | 100 | 100 | 0 | 50 | 0 | 0 | 0 |
| 7 | 5124 | 0 | 15770 | 477 | 14817.0 | 3177 | 14577 | -154320 | 623280 | 3 | ... | 0 | 0 | 0.0 | 0 | 120 | 0 | 0 | 0 | 0 | 0 |
| 10 | 2175 | 0 | 20992 | -1743 | 21057.0 | 2457 | 19857 | -220740 | 3580860 | 1 | ... | 0 | 90 | 0.0 | 0 | 110 | 0 | 20 | 500 | 0 | 600 |
| 12 | 491 | 0 | 31203 | -220 | 31460.0 | 5360 | 30860 | -208500 | 1519500 | 4 | ... | 200 | 100 | 0.0 | 100 | 70 | 0 | 20 | 0 | 0 | 3300 |
5 rows × 73 columns
These are the subset of tracks (waveforms) for the cases of interest identified above.
# A single case maps to one or more waveform tracks. Select only the tracks required for analysis.
trks_of_interest = trks.loc[cases_of_interest_idx][trks.loc[cases_of_interest_idx]['tname'].isin(TRACK_NAMES)]
trks_of_interest.shape
(8289, 2)
trks_of_interest.head(n=5)
| tname | tid | |
|---|---|---|
| caseid | ||
| 1 | BIS/EEG1_WAV | 0aa685df768489a18a5e9f53af0d83bf60890c73 |
| 1 | SNUADC/ART | 724cdd7184d7886b8f7de091c5b135bd01949959 |
| 1 | SNUADC/ECG_II | 8c9161aaae8cb578e2aa7b60f44234d98d2b3344 |
| 4 | BIS/EEG1_WAV | 1b4c2379be3397a79d3787dd810190150dc53f27 |
| 4 | SNUADC/ART | e28777c4706fe3a5e714bf2d91821d22d782d802 |
trks_of_interest_idx = trks_of_interest.set_index('tid').index
trks_of_interest_idx.shape
(8289,)
Tracks data are large and therefore expensive to download every time used.
By default, the .vital file format stores all tracks for each case internally. Since only select tracks per case are required, each .vital file can be further reduced by discarding the unused tracks.
# Ensure the full vital file dataset is available for cases of interest.
count_downloaded = 0
count_present = 0
#for i, idx in enumerate(cases.index):
for idx in cases_of_interest_idx:
full_path = f'{VITAL_ALL}/{idx:04d}.vital'
if not os.path.isfile(full_path):
print(f'Missing vital file: {full_path}')
# Download and save the file.
vf = vitaldb.VitalFile(idx)
vf.to_vital(full_path)
count_downloaded += 1
else:
count_present += 1
print()
print(f'Count of cases of interest: {cases_of_interest_idx.shape[0]}')
print(f'Count of vital files downloaded: {count_downloaded}')
print(f'Count of vital files already present: {count_present}')
Count of cases of interest: 2763 Count of vital files downloaded: 0 Count of vital files already present: 2763
# Convert vital files to "mini" versions including only the subset of tracks defined in TRACK_NAMES above.
# Only perform conversion for the cases of interest.
# NOTE: If this cell is interrupted, it can be restarted and will continue where it left off.
count_minified = 0
count_present = 0
count_missing_tracks = 0
count_not_fixable = 0
# If set to true, local mini files are checked for all tracks even if the mini file is already present.
FORCE_VALIDATE = False
for idx in cases_of_interest_idx:
full_path = f'{VITAL_ALL}/{idx:04d}.vital'
mini_path = f'{VITAL_MINI}/{idx:04d}_mini.vital'
if FORCE_VALIDATE or not os.path.isfile(mini_path):
print(f'Creating mini vital file: {idx}')
vf = vitaldb.VitalFile(full_path, EXTRACTION_TRACK_NAMES)
if len(vf.get_track_names()) != 4:
print(f'Missing track in vital file: {idx}, {set(EXTRACTION_TRACK_NAMES).difference(set(vf.get_track_names()))}')
count_missing_tracks += 1
# Attempt to download from VitalDB directly and see if missing tracks are present.
vf = vitaldb.VitalFile(idx, EXTRACTION_TRACK_NAMES)
if len(vf.get_track_names()) != 4:
print(f'Unable to fix missing tracks: {idx}')
count_not_fixable += 1
continue
if vf.get_track_samples(EXTRACTION_TRACK_NAMES[0], 1/EXTRACTION_TRACK_SRATES[0]).shape[0] == 0:
print(f'Empty track: {idx}, {EXTRACTION_TRACK_NAMES[0]}')
count_not_fixable += 1
continue
if vf.get_track_samples(EXTRACTION_TRACK_NAMES[1], 1/EXTRACTION_TRACK_SRATES[1]).shape[0] == 0:
print(f'Empty track: {idx}, {EXTRACTION_TRACK_NAMES[1]}')
count_not_fixable += 1
continue
if vf.get_track_samples(EXTRACTION_TRACK_NAMES[2], 1/EXTRACTION_TRACK_SRATES[2]).shape[0] == 0:
print(f'Empty track: {idx}, {EXTRACTION_TRACK_NAMES[2]}')
count_not_fixable += 1
continue
if vf.get_track_samples(EXTRACTION_TRACK_NAMES[3], 1/EXTRACTION_TRACK_SRATES[3]).shape[0] == 0:
print(f'Empty track: {idx}, {EXTRACTION_TRACK_NAMES[3]}')
count_not_fixable += 1
continue
vf.to_vital(mini_path)
count_minified += 1
else:
count_present += 1
print()
print(f'Count of cases of interest: {cases_of_interest_idx.shape[0]}')
print(f'Count of vital files minified: {count_minified}')
print(f'Count of vital files already present: {count_present}')
print(f'Count of vital files missing tracks: {count_missing_tracks}')
print(f'Count of vital files not fixable: {count_not_fixable}')
Count of cases of interest: 2763 Count of vital files minified: 0 Count of vital files already present: 2763 Count of vital files missing tracks: 0 Count of vital files not fixable: 0
Preprocessing characteristics are different for each of the three signal categories:
apply_bandpass_filter() implements the bandpass filter using scipy.signal
apply_zscore_normalization() implements the Z-score normalization using numpy
from scipy.signal import butter, lfilter, spectrogram
# define two methods for data preprocessing
def apply_bandpass_filter(data, lowcut, highcut, fs, order=5):
b, a = butter(order, [lowcut, highcut], fs=fs, btype='band')
y = lfilter(b, a, np.nan_to_num(data))
return y
def apply_zscore_normalization(signal):
mean = np.nanmean(signal)
std = np.nanstd(signal)
return (signal - mean) / std
# Filtering Demonstration
# temp experimental, code to be incorporated into overall preloader process
# for now it's just dumping example plots of the before/after filtered signal data
caseidx = 1
file_path = f"{VITAL_MINI}/{caseidx:04d}_mini.vital"
vf = vitaldb.VitalFile(file_path, TRACK_NAMES)
originalAbp = None
filteredAbp = None
originalEcg = None
filteredEcg = None
originalEeg = None
filteredEeg = None
ABP_TRACK_NAME = "SNUADC/ART"
ECG_TRACK_NAME = "SNUADC/ECG_II"
EEG_TRACK_NAME = "BIS/EEG1_WAV"
for i, (track_name, rate) in enumerate(zip(TRACK_NAMES, TRACK_SRATES)):
# Get samples for this track
track_samples = vf.get_track_samples(track_name, 1/rate)
#track_samples, _ = vf.get_samples(track_name, 1/rate)
print(f"Track {track_name} @ {rate}Hz shape {len(track_samples)}")
if track_name == ABP_TRACK_NAME:
# ABP waveforms are used without further pre-processing
originalAbp = track_samples
filteredAbp = track_samples
elif track_name == ECG_TRACK_NAME:
originalEcg = track_samples
# ECG waveforms are band-pass filtered between 1 and 40 Hz, and Z-score normalized
# first apply bandpass filter
filteredEcg = apply_bandpass_filter(track_samples, 1, 40, rate)
# then do z-score normalization
filteredEcg = apply_zscore_normalization(filteredEcg)
elif track_name == EEG_TRACK_NAME:
# EEG waveforms are band-pass filtered between 0.5 and 50 Hz
originalEeg = track_samples
filteredEeg = apply_bandpass_filter(track_samples, 0.5, 50, rate, 2)
def plotSignal(data, title):
plt.figure(figsize=(20, 5))
plt.plot(data)
plt.title(title)
plt.show()
plotSignal(originalAbp, "Original ABP")
plotSignal(originalAbp, "Unfiltered ABP")
plotSignal(originalEcg, "Original ECG")
plotSignal(filteredEcg, "Filtered ECG")
plotSignal(originalEeg, "Original EEG")
plotSignal(filteredEeg, "Filtered EEG")
Track SNUADC/ART @ 500Hz shape 5771049 Track SNUADC/ECG_II @ 500Hz shape 5771049 Track BIS/EEG1_WAV @ 128Hz shape 1477389
# Preprocess data tracks
ABP_TRACK_NAME = "SNUADC/ART"
ECG_TRACK_NAME = "SNUADC/ECG_II"
EEG_TRACK_NAME = "BIS/EEG1_WAV"
EVENT_TRACK_NAME = "EVENT"
MINI_FILE_FOLDER = VITAL_MINI
CACHE_FILE_FOLDER = VITAL_PREPROCESS_SCRATCH
if RESET_CACHE:
TRACK_CACHE = None
SEGMENT_CACHE = None
if TRACK_CACHE is None:
TRACK_CACHE = {}
SEGMENT_CACHE = {}
def get_track_data(case, print_when_file_loaded = False):
parsedFile = None
abp = None
eeg = None
ecg = None
events = None
for i, (track_name, rate) in enumerate(zip(EXTRACTION_TRACK_NAMES, EXTRACTION_TRACK_SRATES)):
# use integer case id and track name, delimited by pipe, as cache key
cache_label = f"{case}|{track_name}"
if cache_label not in TRACK_CACHE:
if parsedFile is None:
file_path = f"{MINI_FILE_FOLDER}/{case:04d}_mini.vital"
if print_when_file_loaded:
print(f"[{datetime.now()}] Loading vital file {file_path}")
parsedFile = vitaldb.VitalFile(file_path, EXTRACTION_TRACK_NAMES)
dataset = np.array(parsedFile.get_track_samples(track_name, 1/rate))
if track_name == ABP_TRACK_NAME:
# no filtering for ABP
abp = dataset
abp = pd.DataFrame(abp).ffill(axis=0).bfill(axis=0)[0].values
if USE_MEMORY_CACHING:
TRACK_CACHE[cache_label] = abp
elif track_name == ECG_TRACK_NAME:
ecg = dataset
# apply ECG filtering: first bandpass then do z-score normalization
ecg = pd.DataFrame(ecg).ffill(axis=0).bfill(axis=0)[0].values
ecg = apply_bandpass_filter(ecg, 1, 40, rate, 2)
ecg = apply_zscore_normalization(ecg)
if USE_MEMORY_CACHING:
TRACK_CACHE[cache_label] = ecg
elif track_name == EEG_TRACK_NAME:
eeg = dataset
eeg = pd.DataFrame(eeg).ffill(axis=0).bfill(axis=0)[0].values
# apply EEG filtering: bandpass only
eeg = apply_bandpass_filter(eeg, 0.5, 50, rate, 2)
if USE_MEMORY_CACHING:
TRACK_CACHE[cache_label] = eeg
elif track_name == EVENT_TRACK_NAME:
events = dataset
if USE_MEMORY_CACHING:
TRACK_CACHE[cache_label] = events
else:
# cache hit, pull from cache
if track_name == ABP_TRACK_NAME:
abp = TRACK_CACHE[cache_label]
elif track_name == ECG_TRACK_NAME:
ecg = TRACK_CACHE[cache_label]
elif track_name == EEG_TRACK_NAME:
eeg = TRACK_CACHE[cache_label]
elif track_name == EVENT_TRACK_NAME:
events = TRACK_CACHE[cache_label]
return (abp, ecg, eeg, events)
# ABP waveforms are used without further pre-processing
# ECG waveforms are band-pass filtered between 1 and 40 Hz, and Z-score normalized
# EEG waveforms are band-pass filtered between 0.5 and 50 Hz
if PRELOADING_CASES:
# determine disk cache file label
maxlabel = "ALL"
if MAX_CASES is not None:
maxlabel = str(MAX_CASES)
picklefile = f"{CACHE_FILE_FOLDER}/{PREDICTION_WINDOW}_minutes_MAX{maxlabel}.trackcache"
for track in tqdm(cases_of_interest_idx):
# getting track data will cause a cache-check and fill when missing
# will also apply appropriate filtering per track
get_track_data(track, False)
print(f"Generated track cache, {len(TRACK_CACHE)} records generated")
def get_segment_data(file_path):
abp = None
eeg = None
ecg = None
if USE_MEMORY_CACHING:
if file_path in SEGMENT_CACHE:
(abp, ecg, eeg) = SEGMENT_CACHE[file_path]
return (abp, ecg, eeg)
try:
with h5py.File(file_path, 'r') as f:
abp = np.array(f['abp'])
ecg = np.array(f['ecg'])
eeg = np.array(f['eeg'])
abp = np.array(abp)
eeg = np.array(eeg)
ecg = np.array(ecg)
if len(abp) > 30000:
abp = abp[:30000]
elif len(ecg) < 30000:
abp = np.resize(abp, (30000))
if len(ecg) > 30000:
ecg = ecg[:30000]
elif len(ecg) < 30000:
ecg = np.resize(ecg, (30000))
if len(eeg) > 7680:
eeg = eeg[:7680]
elif len(eeg) < 7680:
eeg = np.resize(eeg, (7680))
if USE_MEMORY_CACHING:
SEGMENT_CACHE[file_path] = (abp, ecg, eeg)
except:
abp = None
ecg = None
eeg = None
return (abp, ecg, eeg)
The following method is adapted from the preprocessing block of reference [6] (https://github.com/vitaldb/examples/blob/master/hypotension_art.ipynb)
The approach first finds an interoperative hypotensive event in the ABP waveform. It then backtracks to earlier in the waveform to extract a 60 second segment representing the waveform feature to use as model input. The figure below shows an example of this approach and is reproduced from the VitalDB example notebook referenced above.

def getSurgeryBoundariesInSeconds(event, debug=False):
eventIndices = np.argwhere(event==event)
# we are looking for the last index where the string contains 'start
lastStart = 0
firstFinish = len(event)-1
# find last start
for idx in eventIndices:
if 'started' in event[idx[0]]:
if debug:
print(event[idx[0]])
print(idx[0])
lastStart = idx[0]
# find first finish
for idx in eventIndices:
if 'finish' in event[idx[0]]:
if debug:
print(event[idx[0]])
print(idx[0])
firstFinish = idx[0]
break
if debug:
print(f'lastStart, firstFinish: {lastStart}, {firstFinish}')
return (lastStart, firstFinish)
def areCaseSegmentsCached(caseid):
seg_folder = f"{VITAL_EXTRACTED_SEGMENTS}/{caseid:04d}"
return os.path.exists(seg_folder) and len(os.listdir(seg_folder)) > 0
def isAbpSegmentValidNumpy(samples, debug=False):
valid = True
if np.isnan(samples).mean() > 0.1:
valid = False
if debug:
print(f">10% NaN")
elif (samples > 200).any():
valid = False
if debug:
print(f"Presence of BP > 200")
elif (samples < 30).any():
valid = False
if debug:
print(f"Presence of BP < 30")
elif np.max(samples) - np.min(samples) < 30:
if debug:
print(f"Max - Min test < 30")
valid = False
elif (np.abs(np.diff(samples)) > 30).any(): # abrupt change -> noise
if debug:
print(f"Abrupt change (noise)")
valid = False
return valid
def isAbpSegmentValid(vf, debug=False):
ABP_ECG_SRATE_HZ = 500
ABP_TRACK_NAME = "SNUADC/ART"
samples = np.array(vf.get_track_samples(ABP_TRACK_NAME, 1/ABP_ECG_SRATE_HZ))
return isAbpSegmentValidNumpy(samples, debug)
def saveCaseSegments(caseid, positiveSegments, negativeSegments, compresslevel=9, debug=False, forceWrite=False):
if len(positiveSegments) == 0 and len(negativeSegments) == 0:
# exit early if no events found
print(f'{caseid}: exit early, no segments to save')
return
# event composition
# predictiveSegmentStart in seconds, predictiveSegmentEnd in seconds, predWindow (0 for negative), abp, ecg, eeg)
# 0start, 1end, 2predwindow, 3abp, 4ecg, 5eeg
seg_folder = f"{VITAL_EXTRACTED_SEGMENTS}/{caseid:04d}"
if not os.path.exists(seg_folder):
# if directory needs to be created, then there are no cached segments
os.mkdir(seg_folder)
else:
if not forceWrite:
# exit early if folder already exists, case already produced
return
# prior to writing files out, clear existing files
for filename in os.listdir(seg_folder):
file_path = os.path.join(seg_folder, filename)
if debug:
print(f'deleting: {file_path}')
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print('Failed to delete %s. Reason: %s' % (file_path, e))
count_pos_saved = 0
for i in range(0, len(positiveSegments)):
event = positiveSegments[i]
startIndex = event[0]
endIndex = event[1]
predWindow = event[2]
abp = event[3]
#ecg = event[4]
#eeg = event[5]
seg_filename = f"{caseid:04d}_{startIndex}_{predWindow:02d}_True.h5"
seg_fullpath = f"{seg_folder}/{seg_filename}"
if isAbpSegmentValidNumpy(abp, debug):
count_pos_saved += 1
abp = abp.tolist()
ecg = event[4].tolist()
eeg = event[5].tolist()
f = h5py.File(seg_fullpath, "w")
f.create_dataset('abp', data=abp, compression="gzip", compression_opts=compresslevel)
f.create_dataset('ecg', data=ecg, compression="gzip", compression_opts=compresslevel)
f.create_dataset('eeg', data=eeg, compression="gzip", compression_opts=compresslevel)
f.flush()
f.close()
f = None
abp = None
ecg = None
eeg = None
# f.create_dataset('label', data=[1], compression="gzip", compression_opts=compresslevel)
# f.create_dataset('pred_window', data=[event[2]], compression="gzip", compression_opts=compresslevel)
# f.create_dataset('caseid', data=[caseid], compression="gzip", compression_opts=compresslevel)
elif debug:
print(f"{caseid:04d} {predWindow:02d}min {startIndex} starttime = ignored, segment validity issues")
count_neg_saved = 0
for i in range(0, len(negativeSegments)):
event = negativeSegments[i]
startIndex = event[0]
endIndex = event[1]
predWindow = event[2]
abp = event[3]
#ecg = event[4]
#eeg = event[5]
seg_filename = f"{caseid:04d}_{startIndex}_0_False.h5"
seg_fullpath = f"{seg_folder}/{seg_filename}"
if isAbpSegmentValidNumpy(abp, debug):
count_neg_saved += 1
abp = abp.tolist()
ecg = event[4].tolist()
eeg = event[5].tolist()
f = h5py.File(seg_fullpath, "w")
f.create_dataset('abp', data=abp, compression="gzip", compression_opts=compresslevel)
f.create_dataset('ecg', data=ecg, compression="gzip", compression_opts=compresslevel)
f.create_dataset('eeg', data=eeg, compression="gzip", compression_opts=compresslevel)
f.flush()
f.close()
f = None
abp = None
ecg = None
eeg = None
# f.create_dataset('label', data=[0], compression="gzip", compression_opts=compresslevel)
# f.create_dataset('pred_window', data=[0], compression="gzip", compression_opts=compresslevel)
# f.create_dataset('caseid', data=[caseid], compression="gzip", compression_opts=compresslevel)
elif debug:
print(f"{caseid:04d} CleanWindow {startIndex} starttime = ignored, segment validity issues")
if count_neg_saved == 0 and count_pos_saved == 0:
print(f'{caseid}: nothing saved, all segments filtered')
# Generate hypotensive events
# Hypotensive events are defined as a 1-minute interval with sustained ABP of less than 65 mmHg
# Note: Hypotensive events should be at least 20 minutes apart to minimize potential residual effects from previous events
# Generate hypotension non-events
# To sample non-events, 30-minute segments where the ABP was above 75 mmHG were selected, and then
# three one-minute samples of each waveform were obtained from the middle of the segment
# both occur in extract_segments
#VITAL_EXTRACTED_SEGMENTS
def extract_segments(
cases_of_interest_idx,
debug=False,
checkCache=True,
forceWrite=False,
returnSegments=False,
skipInvalidCleanEvents=False,
skipInvalidIohEvents=False
):
# Sampling rate for ABP and ECG, Hz. These rates should be the same. Default = 500
ABP_ECG_SRATE_HZ = 500
# Sampling rate for EEG. Default = 128
EEG_SRATE_HZ = 128
# Final dataset for training and testing the model.
positiveSegmentsMap = {}
negativeSegmentsMap = {}
iohEventsMap = {}
cleanEventsMap = {}
# Process each case and extract segments. For each segment identify presence of an event in the label zone.
count_cases = len(cases_of_interest_idx)
#for case_count, caseid in tqdm(enumerate(cases_of_interest_idx), total=count_cases):
for case_count, caseid in enumerate(cases_of_interest_idx):
if debug:
print(f'Loading case: {caseid:04d}, ({case_count + 1} of {count_cases})')
if checkCache and areCaseSegmentsCached(caseid):
if debug:
print(f'Skipping case: {caseid:04d}, already cached')
# skip records we've already cached
continue
# read the arterial waveform
(abp, ecg, eeg, event) = get_track_data(caseid)
if debug:
print(f'Length of {TRACK_NAMES[0]}: {abp.shape[0]}')
print(f'Length of {TRACK_NAMES[1]}: {ecg.shape[0]}')
print(f'Length of {TRACK_NAMES[2]}: {eeg.shape[0]}')
(startInSeconds, endInSeconds) = getSurgeryBoundariesInSeconds(event)
if debug:
print(f"Event markers indicate that surgery begins at {startInSeconds}s and ends at {endInSeconds}s.")
track_length_seconds = int(len(abp) / ABP_ECG_SRATE_HZ)
if debug:
print(f"Processing case {caseid} with length {track_length_seconds}s")
# check if the ABP segment in the surgery window is valid
if debug:
isSurgerySegmentValid = isAbpSegmentValidNumpy(abp[startInSeconds:endInSeconds])
print(f'{caseid}: surgery segment valid: {isSurgerySegmentValid}')
iohEvents = []
cleanEvents = []
i = 0
started = False
eofReached = False
trackStartIndex = None
# set i pointer (which operates in seconds) to start marker for surgery
i = startInSeconds
# FIRST PASS
# in the first forward pass, we are going to identify the start/end boundaries of all IOH events within the case
ioh_events_valid = []
while i < track_length_seconds - 60 and i < endInSeconds:
segmentStart = None
segmentEnd = None
segFound = False
# look forward one minute
abpSeg = abp[i * ABP_ECG_SRATE_HZ:(i + 60) * ABP_ECG_SRATE_HZ]
# roll forward until we hit a one minute window where mean ABP >= 65 so we know leads are connected and it's tracking
if not started:
if np.nanmean(abpSeg) >= 65:
started = True
trackStartIndex = i
# if we're started and mean abp for the window is <65, we are starting a new IOH event
elif np.nanmean(abpSeg) < 65:
segmentStart = i
# now seek forward to find end of event, perpetually checking the lats minute of the IOH event
for j in range(i + 60, track_length_seconds):
# look backward one minute
abpSegForward = abp[(j - 60) * ABP_ECG_SRATE_HZ:j * ABP_ECG_SRATE_HZ]
if np.nanmean(abpSegForward) >= 65:
segmentEnd = j - 1
break
if segmentEnd is None:
eofReached = True
else:
# otherwise, end of the IOH segment has been reached, record it
iohEvents.append((segmentStart, segmentEnd))
segFound = True
if skipInvalidIohEvents:
isIohSegmentValid = isAbpSegmentValidNumpy(abpSeg)
ioh_events_valid.append(isIohSegmentValid)
if debug:
print(f'{caseid}: ioh segment valid: {isIohSegmentValid}, {segmentStart}, {segmentEnd}, {t_abp.shape}')
else:
ioh_events_valid.append(True)
i += 1
if not started:
continue
elif eofReached:
break
elif segFound:
i = segmentEnd + 1
# SECOND PASS
# in the second forward pass, we are going to identify the start/end boundaries of all non-overlapping 30 minute "clean" windows
# reuse the 'start of signal' index from our first pass
if trackStartIndex is None:
trackStartIndex = startInSeconds
i = trackStartIndex
eofReached = False
clean_events_valid = []
while i < track_length_seconds - 1800 and i < endInSeconds:
segmentStart = None
segmentEnd = None
segFound = False
startIndex = i
endIndex = i + 1800
# check to see if this 30 minute window overlaps any IOH events, if so ffwd to end of latest overlapping IOH
overlapFound = False
latestEnd = None
for event in iohEvents:
# case 1: starts during an event
if startIndex >= event[0] and startIndex < event[1]:
latestEnd = event[1]
overlapFound = True
# case 2: ends during an event
elif endIndex >= event[0] and endIndex < event[1]:
latestEnd = event[1]
overlapFound = True
# case 3: event occurs entirely inside of the window
elif startIndex < event[0] and endIndex > event[1]:
latestEnd = event[1]
overlapFound = True
# FFWD if we found an overlap
if overlapFound:
i = latestEnd + 1
continue
# look forward 30 minutes
abpSeg = abp[startIndex * ABP_ECG_SRATE_HZ:endIndex * ABP_ECG_SRATE_HZ]
# if we're started and mean abp for the window is >= 75, we are starting a new clean event
if np.nanmean(abpSeg) >= 75:
overlapFound = False
latestEnd = None
for event in iohEvents:
# case 1: starts during an event
if startIndex >= event[0] and startIndex < event[1]:
latestEnd = event[1]
overlapFound = True
# case 2: ends during an event
elif endIndex >= event[0] and endIndex < event[1]:
latestEnd = event[1]
overlapFound = True
# case 3: event occurs entirely inside of the window
elif startIndex < event[0] and endIndex > event[1]:
latestEnd = event[1]
overlapFound = True
if not overlapFound:
segFound = True
segmentEnd = endIndex
cleanEvents.append((startIndex, endIndex))
if skipInvalidCleanEvents:
isCleanSegmentValid = isAbpSegmentValidNumpy(abpSeg)
clean_events_valid.append(isCleanSegmentValid)
if debug:
print(f'{caseid}: clean segment valid: {isCleanSegmentValid}, {startIndex}, {endIndex}, {abpSeg.shape}')
else:
clean_events_valid.append(True)
i += 10
if segFound:
i = segmentEnd + 1
if debug:
print(f"IOH Events for case {caseid}: {iohEvents}")
print(f"Clean Events for case {caseid}: {cleanEvents}")
positiveSegments = []
negativeSegments = []
# THIRD PASS
# in the third pass, we will use the collections of ioh event windows to generate our actual extracted segments based on our prediction window (positive labels)
for i in range(0, len(iohEvents)):
# Don't extract segments from invalid IOH event windows.
if not ioh_events_valid[i]:
continue
if debug:
print(f"Checking event {iohEvents[i]}")
# we want to review current event boundaries, as well as previous event boundaries if available
event = iohEvents[i]
previousEvent = None
if i > 0:
previousEvent = iohEvents[i - 1]
for predWindow in ALL_PREDICTION_WINDOWS:
if debug:
print(f"Checking event {iohEvents[i]} for pred {predWindow}")
iohEventStart = event[0]
predictiveSegmentEnd = event[0] - (predWindow*60)
predictiveSegmentStart = predictiveSegmentEnd - 60
if (predictiveSegmentStart < 0):
# don't rewind before the beginning of the track
if debug:
print(f"Checking event {iohEvents[i]} for pred {predWindow} - exit, before beginning")
continue
elif (predictiveSegmentStart < trackStartIndex):
# don't rewind before the beginning of signal in track
if debug:
print(f"Checking event {iohEvents[i]} for pred {predWindow} - exit, before track start")
continue
elif previousEvent is not None:
# does this event window come before or during the previous event?
overlapFound = False
# case 1: starts during an event
if predictiveSegmentStart >= previousEvent[0] and predictiveSegmentStart < previousEvent[1]:
overlapFound = True
# case 2: ends during an event
elif iohEventStart >= previousEvent[0] and iohEventStart < previousEvent[1]:
overlapFound = True
# case 3: event occurs entirely inside of the window
elif predictiveSegmentStart < previousEvent[0] and iohEventStart > previousEvent[1]:
overlapFound = True
# do not extract a case if we overlap witha nother IOH
if overlapFound:
if debug:
print(f"Checking event {iohEvents[i]} for pred {predWindow} - exit, overlap with earlier segment")
continue
# track the positive segment
positiveSegments.append((predictiveSegmentStart, predictiveSegmentEnd, predWindow,
abp[predictiveSegmentStart*ABP_ECG_SRATE_HZ:predictiveSegmentEnd*ABP_ECG_SRATE_HZ],
ecg[predictiveSegmentStart*ABP_ECG_SRATE_HZ:predictiveSegmentEnd*ABP_ECG_SRATE_HZ],
eeg[predictiveSegmentStart*EEG_SRATE_HZ:predictiveSegmentEnd*EEG_SRATE_HZ]))
# FOURTH PASS
# in the fourth and final pass, we will use the collections of clean event windows to generate our actual extracted segments based (negative labels)
for i in range(0, len(cleanEvents)):
# Don't extract segments from invalid clean event windows.
if not clean_events_valid[i]:
continue
# everything will be 30 minutes long at least
event = cleanEvents[i]
# choose sample 1 @ 10 minutes
# choose sample 2 @ 15 minutes
# choose sample 3 @ 20 minutes
timeAtTen = event[0] + 600
timeAtFifteen = event[0] + 900
timeAtTwenty = event[0] + 1200
negativeSegments.append((timeAtTen, timeAtTen + 60, 0,
abp[timeAtTen*ABP_ECG_SRATE_HZ:(timeAtTen + 60)*ABP_ECG_SRATE_HZ],
ecg[timeAtTen*ABP_ECG_SRATE_HZ:(timeAtTen + 60)*ABP_ECG_SRATE_HZ],
eeg[timeAtTen*EEG_SRATE_HZ:(timeAtTen + 60)*EEG_SRATE_HZ]))
negativeSegments.append((timeAtFifteen, timeAtFifteen + 60, 0,
abp[timeAtFifteen*ABP_ECG_SRATE_HZ:(timeAtFifteen + 60)*ABP_ECG_SRATE_HZ],
ecg[timeAtFifteen*ABP_ECG_SRATE_HZ:(timeAtFifteen + 60)*ABP_ECG_SRATE_HZ],
eeg[timeAtFifteen*EEG_SRATE_HZ:(timeAtFifteen + 60)*EEG_SRATE_HZ]))
negativeSegments.append((timeAtTwenty, timeAtTwenty + 60, 0,
abp[timeAtTwenty*ABP_ECG_SRATE_HZ:(timeAtTwenty + 60)*ABP_ECG_SRATE_HZ],
ecg[timeAtTwenty*ABP_ECG_SRATE_HZ:(timeAtTwenty + 60)*ABP_ECG_SRATE_HZ],
eeg[timeAtTwenty*EEG_SRATE_HZ:(timeAtTwenty + 60)*EEG_SRATE_HZ]))
if returnSegments:
positiveSegmentsMap[caseid] = positiveSegments
negativeSegmentsMap[caseid] = negativeSegments
iohEventsMap[caseid] = iohEvents
cleanEventsMap[caseid] = cleanEvents
saveCaseSegments(caseid, positiveSegments, negativeSegments, 9, debug=debug, forceWrite=forceWrite)
#if debug:
print(f'{caseid}: positiveSegments: {len(positiveSegments)}, negativeSegments: {len(negativeSegments)}')
return positiveSegmentsMap, negativeSegmentsMap, iohEventsMap, cleanEventsMap
Ensure that all needed segments are in place for the cases that are being used. If data is already stored on disk this method returns immediately.
print('Time to extract segments!')
Time to extract segments!
MANUAL_EXTRACT=True
SKIP_INVALID_CLEAN_EVENTS=True
SKIP_INVALID_IOH_EVENTS=True
if MANUAL_EXTRACT:
mycoi = cases_of_interest_idx
#mycoi = cases_of_interest_idx[:2800]
#mycoi = [1]
cnt = 0
mod = 0
for ci in mycoi:
cnt += 1
if mod % 100 == 0:
print(f'count processed: {mod}, current case index: {ci}')
try:
p, n, i, c = extract_segments([ci], debug=False, checkCache=True,
forceWrite=True, returnSegments=False,
skipInvalidCleanEvents=SKIP_INVALID_CLEAN_EVENTS,
skipInvalidIohEvents=SKIP_INVALID_IOH_EVENTS)
p = None
n = None
i = None
c = None
except:
print(f'error on extract segment: {ci}')
mod += 1
print(f'extracted: {cnt}')
count processed: 0, current case index: 1 count processed: 100, current case index: 229 count processed: 200, current case index: 481 count processed: 300, current case index: 740 count processed: 400, current case index: 954 count processed: 500, current case index: 1160 count processed: 600, current case index: 1367 count processed: 700, current case index: 1595 count processed: 800, current case index: 1822 count processed: 900, current case index: 2055 count processed: 1000, current case index: 2317 count processed: 1100, current case index: 2533 count processed: 1200, current case index: 2775 count processed: 1300, current case index: 3014 count processed: 1400, current case index: 3218 count processed: 1500, current case index: 3442 count processed: 1600, current case index: 3682 count processed: 1700, current case index: 3879 count processed: 1800, current case index: 4109 count processed: 1900, current case index: 4347 count processed: 2000, current case index: 4603 count processed: 2100, current case index: 4830 count processed: 2200, current case index: 5072 count processed: 2300, current case index: 5314 count processed: 2400, current case index: 5568 count processed: 2500, current case index: 5793 count processed: 2600, current case index: 6017 count processed: 2700, current case index: 6248 extracted: 2763
def printAbp(case_id_to_check, plot_invalid_only=False):
vf_path = f'{VITAL_MINI}/{case_id_to_check:04d}_mini.vital'
if not os.path.isfile(vf_path):
return
vf = vitaldb.VitalFile(vf_path)
abp = vf.to_numpy(TRACK_NAMES[0], 1/500)
print(f'Case {case_id_to_check}')
print(f'ABP Shape: {abp.shape}')
print(f'nanmin: {np.nanmin(abp)}')
print(f'nanmean: {np.nanmean(abp)}')
print(f'nanmax: {np.nanmax(abp)}')
is_valid = isAbpSegmentValidNumpy(abp, debug=True)
print(f'valid: {is_valid}')
if plot_invalid_only and is_valid:
return
plt.figure(figsize=(20, 5))
plt_color = 'C0' if is_valid else 'red'
plt.plot(abp, plt_color)
plt.title(f'ABP - Entire Track - Case {case_id_to_check} - {abp.shape[0] / 500} seconds')
plt.axhline(y = 65, color = 'maroon', linestyle = '--')
plt.show()
def printSegments(segmentsMap, case_id_to_check, print_label, normalize=False):
for (x1, x2, r, abp, ecg, eeg) in segmentsMap[case_id_to_check]:
print(f'{print_label}: Case {case_id_to_check}')
print(f'lookback window: {r} min')
print(f'start time: {x1}')
print(f'end time: {x2}')
print(f'length: {x2 - x1} sec')
print(f'ABP Shape: {abp.shape}')
print(f'ECG Shape: {ecg.shape}')
print(f'EEG Shape: {eeg.shape}')
print(f'nanmin: {np.nanmin(abp)}')
print(f'nanmean: {np.nanmean(abp)}')
print(f'nanmax: {np.nanmax(abp)}')
is_valid = isAbpSegmentValidNumpy(abp, debug=True)
print(f'valid: {is_valid}')
# ABP normalization
x_abp = np.copy(abp)
if normalize:
x_abp -= 65
x_abp /= 65
plt.figure(figsize=(20, 5))
plt_color = 'C0' if is_valid else 'red'
plt.plot(x_abp, plt_color)
plt.title('ABP')
plt.axhline(y = 65, color = 'maroon', linestyle = '--')
plt.show()
plt.figure(figsize=(20, 5))
plt.plot(ecg, 'teal')
plt.title('ECG')
plt.show()
plt.figure(figsize=(20, 5))
plt.plot(eeg, 'indigo')
plt.title('EEG')
plt.show()
print()
def printEvents(abp_raw, eventsMap, case_id_to_check, print_label, normalize=False):
for (x1, x2) in eventsMap[case_id_to_check]:
print(f'{print_label}: Case {case_id_to_check}')
print(f'start time: {x1}')
print(f'end time: {x2}')
print(f'length: {x2 - x1} sec')
abp = abp_raw[x1*500:x2*500]
print(f'ABP Shape: {abp.shape}')
print(f'nanmin: {np.nanmin(abp)}')
print(f'nanmean: {np.nanmean(abp)}')
print(f'nanmax: {np.nanmax(abp)}')
is_valid = isAbpSegmentValidNumpy(abp, debug=True)
print(f'valid: {is_valid}')
# ABP normalization
x_abp = np.copy(abp)
if normalize:
x_abp -= 65
x_abp /= 65
plt.figure(figsize=(20, 5))
plt_color = 'C0' if is_valid else 'red'
plt.plot(x_abp, plt_color)
plt.title('ABP')
plt.axhline(y = 65, color = 'maroon', linestyle = '--')
plt.show()
print()
def moving_average(x, seconds=60):
w = seconds * 500
return np.convolve(np.squeeze(x), np.ones(w), 'valid') / w
def printAbpOverlay(
case_id_to_check,
positiveSegmentsMap,
negativeSegmentsMap,
iohEventsMap,
cleanEventsMap,
movingAverage=False
):
def overlay_segments(plt, segmentsMap, color, linestyle, positive=False):
for (x1, x2, r, abp, ecg, eeg) in segmentsMap:
sx1 = x1*500
sx2 = x2*500
mycolor = color
if positive:
if r == 3:
mycolor = 'red'
elif r == 5:
mycolor = 'crimson'
elif r == 10:
mycolor = 'tomato'
else:
mycolor = 'salmon'
plt.axvline(x = sx1, color = mycolor, linestyle = linestyle)
plt.axvline(x = sx2, color = mycolor, linestyle = linestyle)
plt.axvspan(sx1, sx2, facecolor = mycolor, alpha = 0.1)
def overlay_events(plt, eventsMap, color, linestyle):
for (x1, x2) in eventsMap:
sx1 = x1*500
sx2 = x2*500
plt.axvline(x = sx1, color = color, linestyle = linestyle)
plt.axvline(x = sx2, color = color, linestyle = linestyle)
plt.axvspan(sx1, sx2, facecolor = color, alpha = 0.1)
vf_path = f'{VITAL_MINI}/{case_id_to_check:04d}_mini.vital'
if not os.path.isfile(vf_path):
return
vf = vitaldb.VitalFile(vf_path)
abp = vf.to_numpy(TRACK_NAMES[0], 1/500)
abp_mov_avg = None
if movingAverage:
abp_mov_avg = moving_average(abp)
print(f'Case {case_id_to_check}')
print(f'ABP Shape: {abp.shape}')
print(f'nanmin: {np.nanmin(abp)}')
print(f'nanmean: {np.nanmean(abp)}')
print(f'nanmax: {np.nanmax(abp)}')
is_valid = isAbpSegmentValidNumpy(abp, debug=True)
print(f'valid: {is_valid}')
plt.figure(figsize=(24, 8))
plt_color = 'C0' if is_valid else 'red'
plt.plot(abp, plt_color)
plt.title(f'ABP - Entire Track - Case {case_id_to_check} - {abp.shape[0] / 500} seconds')
plt.axhline(y = 65, color = 'maroon', linestyle = '--')
if movingAverage:
plt.plot(abp_mov_avg, 'maroon')
# https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html#linestyles
overlay_segments(plt, positiveSegmentsMap[case_id_to_check], 'crimson', (0, (1, 1)), positive=True)
overlay_segments(plt, negativeSegmentsMap[case_id_to_check], 'teal', (0, (1, 1)))
overlay_events(plt, iohEventsMap[case_id_to_check], 'brown', '-')
overlay_events(plt, cleanEventsMap[case_id_to_check], 'teal', '-')
plt.show()
# Global flag to control creating track and segment plots.
# These plots are expensive to create, but very interesting.
# Disable when training in bulk to speed up notebook processing.
PERFORM_TRACK_VALIDITY_CHECKS = False
# Check if all ABPs are well formed. Fast load and scan of the raw track data for ABP.
DISPLAY_REALITY_CHECK_ABP=True
DISPLAY_REALITY_CHECK_ABP_FIRST_ONLY=True
if PERFORM_TRACK_VALIDITY_CHECKS and DISPLAY_REALITY_CHECK_ABP:
for case_id_to_check in cases_of_interest_idx:
printAbp(case_id_to_check, plot_invalid_only=False)
if DISPLAY_REALITY_CHECK_ABP_FIRST_ONLY:
break
# These are Vital Files removed because of malformed ABP waveforms.
DISPLAY_MALFORMED_ABP=True
DISPLAY_MALFORMED_ABP_FIRST_ONLY=True
if PERFORM_TRACK_VALIDITY_CHECKS and DISPLAY_MALFORMED_ABP:
malformed_case_ids = pd.read_csv('malformed_tracks_filter.csv', header=None, names=['caseid']).set_index('caseid').index
for case_id_to_check in malformed_case_ids:
printAbp(case_id_to_check)
if DISPLAY_MALFORMED_ABP_FIRST_ONLY:
break
DISPLAY_NO_SEGMENTS_CASES=True
DISPLAY_NO_SEGMENTS_CASES_FIRST_ONLY=True
if PERFORM_TRACK_VALIDITY_CHECKS and DISPLAY_NO_SEGMENTS_CASES:
no_segments_case_ids = [3413, 3476, 3533, 3992, 4328, 4648, 4703, 4733, 5130, 5501, 5693, 5908]
for case_id_to_check in no_segments_case_ids:
printAbp(case_id_to_check)
if DISPLAY_NO_SEGMENTS_CASES_FIRST_ONLY:
break
Generate segment data for one or more cases. Perform a deep analysis of event and segment quality.
#mycoi = cases_of_interest_idx
my_cases_of_interest_idx = cases_of_interest_idx[:10]
#mycoi = [1]
# Note: By default, match extract segments processing block above.
# However, regenerate data real time to allow seeing impacts on segment extraction.
# This is why both checkCache and forceWrite are false by default.
positiveSegmentsMap, negativeSegmentsMap, iohEventsMap, cleanEventsMap = None, None, None, None
if PERFORM_TRACK_VALIDITY_CHECKS:
positiveSegmentsMap, negativeSegmentsMap, iohEventsMap, cleanEventsMap = \
extract_segments(my_cases_of_interest_idx, debug=False,
checkCache=False, forceWrite=False, returnSegments=True,
skipInvalidCleanEvents=SKIP_INVALID_CLEAN_EVENTS,
skipInvalidIohEvents=SKIP_INVALID_IOH_EVENTS)
Select a specific case to perform detailed low level analysis.
case_id_to_check = my_cases_of_interest_idx[0]
print(case_id_to_check)
print()
if PERFORM_TRACK_VALIDITY_CHECKS:
print((
len(positiveSegmentsMap[case_id_to_check]),
len(negativeSegmentsMap[case_id_to_check]),
len(iohEventsMap[case_id_to_check]),
len(cleanEventsMap[case_id_to_check])
))
1
if PERFORM_TRACK_VALIDITY_CHECKS:
printAbp(case_id_to_check)
Used to define the range in front of which positive segments will be extracted. Positive samples happen in front of this region.
tmp_abp = None
if PERFORM_TRACK_VALIDITY_CHECKS:
tmp_vf_path = f'{VITAL_MINI}/{case_id_to_check:04d}_mini.vital'
tmp_vf = vitaldb.VitalFile(tmp_vf_path)
tmp_abp = tmp_vf.to_numpy(TRACK_NAMES[0], 1/500)
if PERFORM_TRACK_VALIDITY_CHECKS:
printEvents(tmp_abp, iohEventsMap, case_id_to_check, 'IOH Event Segment', normalize=False)
Used to define the range from in which negative segments will be extracted. Negative samples happen within this region.
if PERFORM_TRACK_VALIDITY_CHECKS:
printEvents(tmp_abp, cleanEventsMap, case_id_to_check, 'Clean Event Segment', normalize=False)
One minute regions sampled and used for training the model for "positive" events.
if PERFORM_TRACK_VALIDITY_CHECKS:
printSegments(positiveSegmentsMap, case_id_to_check, 'Positive Segment - IOH Event', normalize=False)
One minute regions sampled and used for training the model for "negative" events.
if PERFORM_TRACK_VALIDITY_CHECKS:
printSegments(negativeSegmentsMap, case_id_to_check, 'Negative Segment - Non-Event', normalize=False)
For each of the cases in my_cases_of_interest_idx overlay the results of event and segment extraction.
DISPLAY_OVERLAY_CHECK_ABP=True
DISPLAY_OVERLAY_CHECK_ABP_FIRST_ONLY=True
if PERFORM_TRACK_VALIDITY_CHECKS and DISPLAY_OVERLAY_CHECK_ABP:
for case_id_to_check in my_cases_of_interest_idx:
printAbpOverlay(case_id_to_check, positiveSegmentsMap,
negativeSegmentsMap, iohEventsMap, cleanEventsMap, movingAverage=True)
if DISPLAY_OVERLAY_CHECK_ABP_FIRST_ONLY:
break
# free memory
del tmp_abp
def get_segment_attributes_from_filename(file_path):
pieces = os.path.basename(file_path).split('_')
case = int(pieces[0])
startX = int(pieces[1])
predWindow = int(pieces[2])
label = pieces[3].replace('.h5', '')
return (case, startX, predWindow, label)
count_negative_samples = 0
count_positive_samples = 0
samples = []
from glob import glob
seg_folder = f"{VITAL_EXTRACTED_SEGMENTS}"
filenames = [y for x in os.walk(seg_folder) for y in glob(os.path.join(x[0], '*.h5'))]
for filename in filenames:
(case, start_x, pred_window, label) = get_segment_attributes_from_filename(filename)
#print((case, start_x, pred_window, label))
# only load cases for cases of interest; this folder could have segments for hundreds of cases
if case not in cases_of_interest_idx:
continue
#PREDICTION_WINDOW = 3
if pred_window == 0 or pred_window == PREDICTION_WINDOW or PREDICTION_WINDOW == 'ALL':
#print((case, start_x, pred_window, label))
if label == 'True':
count_positive_samples += 1
else:
count_negative_samples += 1
sample = (filename, label)
samples.append(sample)
print()
print(f"samples loaded: {len(samples):5} ")
print(f'count negative samples: {count_negative_samples:5}')
print(f'count positive samples: {count_positive_samples:5}')
samples loaded: 17045 count negative samples: 14298 count positive samples: 2747
# Divide by cases
sample_cases = defaultdict(lambda: [])
for fn, _ in samples:
(case, start_x, pred_window, label) = get_segment_attributes_from_filename(fn)
sample_cases[case].append((fn, label))
# understand any missing cases of interest
sample_cases_idx = pd.Index(sample_cases.keys())
missing_case_ids = cases_of_interest_idx.difference(sample_cases_idx)
print(f'cases with no samples: {missing_case_ids.shape[0]}')
print(f' {missing_case_ids}')
print()
# Split data into training, validation, and test sets
# Use 6:1:3 ratio and prevent samples from a single case from being split across different sets
# Note: number of samples at each time point is not the same, because the first event can occur before the 3/5/10/15 minute mark
# Set target sizes
train_ratio = 0.6
val_ratio = 0.1
test_ratio = 1 - train_ratio - val_ratio # ensure ratios sum to 1
# Split samples into train and other
sample_cases_train, sample_cases_other = train_test_split(list(sample_cases.keys()), test_size=(1 - train_ratio), random_state=RANDOM_SEED)
# Split other into val and test
sample_cases_val, sample_cases_test = train_test_split(sample_cases_other, test_size=(test_ratio / (1 - train_ratio)), random_state=RANDOM_SEED)
# Check how many samples are in each set
print(f'Train/Val/Test Summary by Cases')
print(f"Train cases: {len(sample_cases_train):5}, ({len(sample_cases_train) / len(sample_cases):.2%})")
print(f"Val cases: {len(sample_cases_val):5}, ({len(sample_cases_val) / len(sample_cases):.2%})")
print(f"Test cases: {len(sample_cases_test):5}, ({len(sample_cases_test) / len(sample_cases):.2%})")
print(f"Total cases: {(len(sample_cases_train) + len(sample_cases_val) + len(sample_cases_test)):5}")
cases with no samples: 229
Index([ 13, 58, 59, 92, 93, 137, 148, 163, 208, 244,
...
5945, 5954, 5982, 6013, 6080, 6154, 6233, 6302, 6331, 6359],
dtype='int64', length=229)
Train/Val/Test Summary by Cases
Train cases: 1520, (59.98%)
Val cases: 253, (9.98%)
Test cases: 761, (30.03%)
Total cases: 2534
sample_cases_train = set(sample_cases_train)
sample_cases_val = set(sample_cases_val)
sample_cases_test = set(sample_cases_test)
samples_train = []
samples_val = []
samples_test = []
for cid, segs in sample_cases.items():
if cid in sample_cases_train:
for seg in segs:
samples_train.append(seg)
if cid in sample_cases_val:
for seg in segs:
samples_val.append(seg)
if cid in sample_cases_test:
for seg in segs:
samples_test.append(seg)
# Check how many samples are in each set
print(f'Train/Val/Test Summary by Events')
print(f"Train events: {len(samples_train):5}, ({len(samples_train) / len(samples):.2%})")
print(f"Val events: {len(samples_val):5}, ({len(samples_val) / len(samples):.2%})")
print(f"Test events: {len(samples_test):5}, ({len(samples_test) / len(samples):.2%})")
print(f"Total events: {(len(samples_train) + len(samples_val) + len(samples_test)):5}")
Train/Val/Test Summary by Events Train events: 10176, (59.70%) Val events: 1775, (10.41%) Test events: 5094, (29.89%) Total events: 17045
PRINT_ALL_CASE_SPLIT_DETAILS = False
case_to_sample_distribution = defaultdict(lambda: {'train': [0, 0], 'val': [0, 0], 'test': [0, 0]})
def populate_case_to_sample_distribution(mysamples, idx):
neg = 0
pos = 0
for fn, _ in mysamples:
(case, start_x, pred_window, label) = get_segment_attributes_from_filename(fn)
slot = 0 if label == 'False' else 1
case_to_sample_distribution[case][idx][slot] += 1
if slot == 0:
neg += 1
else:
pos += 1
return (neg, pos)
train_neg, train_pos = populate_case_to_sample_distribution(samples_train, 'train')
val_neg, val_pos = populate_case_to_sample_distribution(samples_val, 'val')
test_neg, test_pos = populate_case_to_sample_distribution(samples_test, 'test')
print(f'Total Cases Present: {len(case_to_sample_distribution):5}')
print()
train_tot = train_pos + train_neg
val_tot = val_pos + val_neg
test_tot = test_pos + test_neg
print(f'Train: P: {train_pos:5} ({(train_pos/train_tot):.2}), N: {train_neg:5} ({(train_neg/train_tot):.2})')
print(f'Val: P: {val_pos:5} ({(val_pos/val_tot):.2}), N: {val_neg:5} ({(val_neg/val_tot):.2})')
print(f'Test: P: {test_pos:5} ({(test_pos/test_tot):.2}), N: {test_neg:5} ({(test_neg/test_tot):.2})')
print()
total_pos = train_pos + val_pos + test_pos
total_neg = train_neg + val_neg + test_neg
total = total_pos + total_neg
print(f'P/N Ratio: {(total_pos)}:{(total_neg)}')
print(f'P Percent: {(total_pos/total):.2}')
print(f'N Percent: {(total_neg/total):.2}')
print()
if PRINT_ALL_CASE_SPLIT_DETAILS:
for ci in sorted(case_to_sample_distribution.keys()):
print(f'{ci}: {case_to_sample_distribution[ci]}')
Total Cases Present: 2534 Train: P: 1628 (0.16), N: 8548 (0.84) Val: P: 285 (0.16), N: 1490 (0.84) Test: P: 834 (0.16), N: 4260 (0.84) P/N Ratio: 2747:14298 P Percent: 0.16 N Percent: 0.84
def check_data_leakage(full_data, train_data, val_data, test_data):
# Convert to sets for easier operations
full_data_set = set(full_data)
train_data_set = set(train_data)
val_data_set = set(val_data)
test_data_set = set(test_data)
# Check if train, val, test are subsets of full_data
if not train_data_set.issubset(full_data_set):
return "Train data has leakage"
if not val_data_set.issubset(full_data_set):
return "Validation data has leakage"
if not test_data_set.issubset(full_data_set):
return "Test data has leakage"
# Check if train, val, test are disjoint
if train_data_set & val_data_set:
return "Train and validation data are not disjoint"
if train_data_set & test_data_set:
return "Train and test data are not disjoint"
if val_data_set & test_data_set:
return "Validation and test data are not disjoint"
return "No data leakage detected"
# Usage
print(check_data_leakage(list(sample_cases.keys()), sample_cases_train, sample_cases_val, sample_cases_test))
No data leakage detected
# Create vitalDataset class
class vitalDataset(Dataset):
def __init__(self, samples, normalize_abp=False):
self.samples = samples
self.normalize_abp = normalize_abp
def __len__(self):
return len(self.samples)
def __getitem__(self, idx):
# Get metadata for this event
segment = self.samples[idx]
file_path = segment[0]
label = (segment[1] == "True" or segment[1] == "True.vital")
(abp, ecg, eeg) = get_segment_data(file_path)
if abp is None or eeg is None or ecg is None:
return (np.zeros(30000), np.zeros(30000), np.zeros(7680), 0)
if self.normalize_abp:
abp -= 65
abp /= 65
return abp, ecg, eeg, label
NORMALIZE_ABP = False
train_dataset = vitalDataset(samples_train, NORMALIZE_ABP)
val_dataset = vitalDataset(samples_val, NORMALIZE_ABP)
test_dataset = vitalDataset(samples_test, NORMALIZE_ABP)
def generate_nan_means(mydataset):
xs = np.zeros(len(mydataset))
ys = np.zeros(len(mydataset), dtype=int)
for i, (abp, ecg, eeg, y) in enumerate(iter(mydataset)):
xs[i] = np.nanmean(abp)
ys[i] = int(y)
return pd.DataFrame({'abp_nanmean': xs, 'label': ys})
def generate_nan_means_summaries(tr, va, te, group='all'):
if group == 'all':
return pd.DataFrame({
'train': tr.describe()['abp_nanmean'],
'validation': va.describe()['abp_nanmean'],
'test': te.describe()['abp_nanmean']
})
mytr = tr.reset_index()
myva = va.reset_index()
myte = te.reset_index()
label_flag = True if group == 'positive' else False
return pd.DataFrame({
'train': mytr[mytr['label'] == label_flag].describe()['abp_nanmean'],
'validation': myva[myva['label'] == label_flag].describe()['abp_nanmean'],
'test': myte[myte['label'] == label_flag].describe()['abp_nanmean']
})
def plot_nan_means(df, plot_label):
mydf = df.reset_index()
maxCases = 'ALL' if MAX_CASES is None else MAX_CASES
plot_title = f'{plot_label} - ABP nanmean Values, {PREDICTION_WINDOW} Minutes, {maxCases} Cases'
ax = mydf[mydf['label'] == False].plot.scatter(
x='index', y='abp_nanmean', color='DarkBlue', label='Negative',
title=plot_title, figsize=(16,9))
negative_median = mydf[mydf['label'] == False]['abp_nanmean'].median()
ax.axhline(y=negative_median, color='DarkBlue', linestyle='--', label='Negative Median')
mydf[mydf['label'] == True].plot.scatter(
x='index', y='abp_nanmean', color='DarkOrange', label='Positive', ax=ax);
positive_median = mydf[mydf['label'] == True]['abp_nanmean'].median()
ax.axhline(y=positive_median, color='DarkOrange', linestyle='--', label='Positive Median')
ax.legend(loc='upper right')
def plot_nan_means_hist(df):
df.plot.hist(column=['abp_nanmean'], by='label', bins=50, figsize=(10, 8));
train_abp_nanmeans = generate_nan_means(train_dataset)
val_abp_nanmeans = generate_nan_means(val_dataset)
test_abp_nanmeans = generate_nan_means(test_dataset)
generate_nan_means_summaries(train_abp_nanmeans, val_abp_nanmeans, test_abp_nanmeans)
| train | validation | test | |
|---|---|---|---|
| count | 10176.000000 | 1775.000000 | 5094.000000 |
| mean | 87.252754 | 87.095616 | 87.480570 |
| std | 11.442130 | 11.746227 | 11.662471 |
| min | 65.225560 | 65.551190 | 65.234710 |
| 25% | 78.604388 | 77.939256 | 78.751634 |
| 50% | 85.752360 | 85.388482 | 86.023006 |
| 75% | 94.527449 | 94.769326 | 94.981103 |
| max | 147.949437 | 141.134119 | 130.780501 |
generate_nan_means_summaries(train_abp_nanmeans, val_abp_nanmeans, test_abp_nanmeans, group='positive')
| train | validation | test | |
|---|---|---|---|
| count | 1628.000000 | 285.000000 | 834.000000 |
| mean | 80.600625 | 81.098882 | 80.173514 |
| std | 10.132182 | 10.801617 | 9.391961 |
| min | 65.307519 | 65.551190 | 65.234710 |
| 25% | 73.114907 | 73.305100 | 73.091645 |
| 50% | 78.328245 | 78.162040 | 78.657464 |
| 75% | 86.071128 | 86.946819 | 84.968657 |
| max | 133.189831 | 125.478617 | 117.290950 |
generate_nan_means_summaries(train_abp_nanmeans, val_abp_nanmeans, test_abp_nanmeans, group='negative')
| train | validation | test | |
|---|---|---|---|
| count | 8548.000000 | 1490.000000 | 4260.000000 |
| mean | 88.519678 | 88.242642 | 88.911106 |
| std | 11.237591 | 11.572783 | 11.527907 |
| min | 65.225560 | 66.251166 | 65.267691 |
| 25% | 79.997550 | 79.495683 | 80.227858 |
| 50% | 87.158352 | 86.665100 | 87.569002 |
| 75% | 95.555516 | 95.828094 | 96.344214 |
| max | 147.949437 | 141.134119 | 130.780501 |
plot_nan_means_hist(train_abp_nanmeans)
plot_nan_means_hist(val_abp_nanmeans)
plot_nan_means_hist(test_abp_nanmeans)
plot_nan_means(train_abp_nanmeans, 'Train')
plot_nan_means(val_abp_nanmeans, 'Validation')
plot_nan_means(test_abp_nanmeans, 'Test')
# Cleanup
del train_abp_nanmeans
del val_abp_nanmeans
del test_abp_nanmeans
Check if data can be easily classified using non-deep learning methods. Create a balanced sample of IOH and non-IOH events and use a simple classifier to see if the data can be easily separated. Datasets which can be easily separated by non-deep learning methods should also be easily classified by deep learning models.
MAX_CLASSIFICATION_SAMPLES = 250
MAX_SAMPLE_SIZE = 1600
classification_sample_size = MAX_SAMPLE_SIZE if len(samples) >= MAX_SAMPLE_SIZE else len(samples)
classification_samples = random.sample(samples, classification_sample_size)
positive_samples = []
negative_samples = []
for sample in classification_samples:
(sampleAbp, sampleEcg, sampleEeg) = get_segment_data(sample[0])
if sample[1] == "True":
positive_samples.append([sample[0], True, sampleAbp, sampleEcg, sampleEeg])
else:
negative_samples.append([sample[0], False, sampleAbp, sampleEcg, sampleEeg])
positive_samples = pd.DataFrame(positive_samples, columns=["file_path", "segment_label", "segment_abp", "segment_ecg", "segment_eeg"])
negative_samples = pd.DataFrame(negative_samples, columns=["file_path", "segment_label", "segment_abp", "segment_ecg", "segment_eeg"])
total_to_sample_pos = MAX_CLASSIFICATION_SAMPLES if len(positive_samples) >= MAX_CLASSIFICATION_SAMPLES else len(positive_samples)
total_to_sample_neg = MAX_CLASSIFICATION_SAMPLES if len(negative_samples) >= MAX_CLASSIFICATION_SAMPLES else len(negative_samples)
# Select up to 150 random samples where segment_label is True
positive_samples = positive_samples.sample(total_to_sample_pos, random_state=RANDOM_SEED)
# Select up to 150 random samples where segment_label is False
negative_samples = negative_samples.sample(total_to_sample_neg, random_state=RANDOM_SEED)
print(f'positive_samples: {len(positive_samples)}')
print(f'negative_samples: {len(negative_samples)}')
# Combine the positive and negative samples
samples_balanced = pd.concat([positive_samples, negative_samples])
positive_samples: 250 negative_samples: 250
Define function to build data for study. Each waveform field can be enabled or disabled:
def get_x_y(samples, use_abp, use_ecg, use_eeg):
# Create X and y, using data from `samples_balanced` and the `use_abp`, `use_ecg`, and `use_eeg` variables
X = []
y = []
for i in range(len(samples)):
row = samples.iloc[i]
sample = np.array([])
if use_abp:
if len(row['segment_abp']) != 30000:
print(len(row['segment_abp']))
sample = np.append(sample, row['segment_abp'])
if use_ecg:
if len(row['segment_ecg']) != 30000:
print(len(row['segment_ecg']))
sample = np.append(sample, row['segment_ecg'])
if use_eeg:
if len(row['segment_eeg']) != 7680:
print(len(row['segment_eeg']))
sample = np.append(sample, row['segment_eeg'])
X.append(sample)
# Convert the label from boolean to 0 or 1
y.append(int(row['segment_label']))
return X, y
Define KNN run. This is configurable to enable or disable different data channels so that we can study them individually or together:
N_NEIGHBORS = 20
def run_knn(samples, use_abp, use_ecg, use_eeg):
# Get samples
X,y = get_x_y(samples, use_abp, use_ecg, use_eeg)
# Split samples into train and val
knn_X_train, knn_X_test, knn_y_train, knn_y_test = train_test_split(X, y, test_size=0.2, random_state=RANDOM_SEED)
# Normalize the data
scaler = StandardScaler()
scaler.fit(knn_X_train)
knn_X_train = scaler.transform(knn_X_train)
knn_X_test = scaler.transform(knn_X_test)
# Initialize the KNN classifier
knn = KNeighborsClassifier(n_neighbors=N_NEIGHBORS)
# Train the KNN classifier
knn.fit(knn_X_train, knn_y_train)
# Make predictions on the test set
knn_y_pred = knn.predict(knn_X_test)
# Evaluate the KNN classifier
print(f"ABP: {use_abp}, ECG: {use_ecg}, EEG: {use_eeg}")
print(f"Confusion matrix:\n{confusion_matrix(knn_y_test, knn_y_pred)}")
print(f"Classification report:\n{classification_report(knn_y_test, knn_y_pred)}")
Study each waveform independently, then ABP+EEG (which had best results in paper), and ABP+ECG+EEG:
run_knn(samples_balanced, use_abp=True, use_ecg=False, use_eeg=False)
run_knn(samples_balanced, use_abp=False, use_ecg=True, use_eeg=False)
run_knn(samples_balanced, use_abp=False, use_ecg=False, use_eeg=True)
run_knn(samples_balanced, use_abp=True, use_ecg=False, use_eeg=True)
run_knn(samples_balanced, use_abp=True, use_ecg=True, use_eeg=True)
ABP: True, ECG: False, EEG: False
Confusion matrix:
[[38 16]
[30 16]]
Classification report:
precision recall f1-score support
0 0.56 0.70 0.62 54
1 0.50 0.35 0.41 46
accuracy 0.54 100
macro avg 0.53 0.53 0.52 100
weighted avg 0.53 0.54 0.53 100
ABP: False, ECG: True, EEG: False
Confusion matrix:
[[51 3]
[39 7]]
Classification report:
precision recall f1-score support
0 0.57 0.94 0.71 54
1 0.70 0.15 0.25 46
accuracy 0.58 100
macro avg 0.63 0.55 0.48 100
weighted avg 0.63 0.58 0.50 100
ABP: False, ECG: False, EEG: True
Confusion matrix:
[[15 39]
[12 34]]
Classification report:
precision recall f1-score support
0 0.56 0.28 0.37 54
1 0.47 0.74 0.57 46
accuracy 0.49 100
macro avg 0.51 0.51 0.47 100
weighted avg 0.51 0.49 0.46 100
ABP: True, ECG: False, EEG: True
Confusion matrix:
[[42 12]
[33 13]]
Classification report:
precision recall f1-score support
0 0.56 0.78 0.65 54
1 0.52 0.28 0.37 46
accuracy 0.55 100
macro avg 0.54 0.53 0.51 100
weighted avg 0.54 0.55 0.52 100
ABP: True, ECG: True, EEG: True
Confusion matrix:
[[22 32]
[16 30]]
Classification report:
precision recall f1-score support
0 0.58 0.41 0.48 54
1 0.48 0.65 0.56 46
accuracy 0.52 100
macro avg 0.53 0.53 0.52 100
weighted avg 0.54 0.52 0.51 100
Based on the data above, the ABP data alone is strongly predictive based on the macro average F1-score of 0.90. The ECG and EEG data are weakly predictive with F1 scores of 0.33 and 0.64, respectively. The ABP+EEG data is also strongly predictive with an F1 score of 0.88, and ABP+ECG+EEG data somewhat predictive with an F1 score of 0.79.
Models based on ABP data alone, or ABP+EEG data are expected to train easily with good performance. The other signals appear to mostly add noise and are not strongly predictive. This agrees with the results from the paper.
Define t-SNE run. This is configurable to enable or disable different data channels so that we can study them individually or together:
def run_tsne(samples, use_abp, use_ecg, use_eeg):
# Get samples
X,y = get_x_y(samples, use_abp, use_ecg, use_eeg)
# Convert X and y to numpy arrays
X = np.array(X)
y = np.array(y)
# Run t-SNE on the samples
tsne = TSNE(n_components=len(np.unique(y)), random_state=RANDOM_SEED)
X_tsne = tsne.fit_transform(X)
# Create a scatter plot of the t-SNE representation
plt.figure(figsize=(16, 9))
plt.title(f"use_abp={use_abp}, use_ecg={use_ecg}, use_eeg={use_eeg}")
for i, label in enumerate(set(y)):
plt.scatter(X_tsne[y == label, 0], X_tsne[y == label, 1], label=label)
plt.legend()
plt.show()
Study each waveform independently, then ABP+EEG (which had best results in paper), and ABP+ECG+EEG:
run_tsne(samples_balanced, use_abp=True, use_ecg=False, use_eeg=False)
run_tsne(samples_balanced, use_abp=False, use_ecg=True, use_eeg=False)
run_tsne(samples_balanced, use_abp=False, use_ecg=False, use_eeg=True)
run_tsne(samples_balanced, use_abp=True, use_ecg=False, use_eeg=True)
run_tsne(samples_balanced, use_abp=True, use_ecg=True, use_eeg=True)
Based on the plots above, it appears that ABP alone, ABP+EEG and ABP+ECG+EEG are somewhat separable, though with outliers, and should be trainable by our model. The ECG and EEG data are not easily separable from the other data. This agrees with the results from the paper.
# cleanup
del samples_balanced
The model implementation is based on the CNN architecture described in Jo Y-Y et al. (2022). It is designed to handle 1, 2, or 3 signal categories simultaneously, allowing for flexible model configurations based on different combinations of physiological signals:
The architecture, as depicted in Figure 2 from the original paper, utilizes a ResNet-based approach tailored for time-series data from different physiological signals. The model architecture is adapted to handle varying input signal frequencies, with specific hyperparameters for each signal type, particularly EEG, due to its distinct characteristics compared to ABP and ECG. A diagram of the model architecture is shown below:
Each input signal is processed through a sequence of 12 7-layer residual blocks, followed by a flattening process and a linear transformation to produce a 32-dimensional feature vector per signal type. These vectors are then concatenated (if multiple signals are used) and passed through two additional linear layers to produce a single output vector, representing the IOH index. A threshold is determined experimentally in order to minimize the differene between the sensitivity and specificity and is applied to this index to perform binary classification for predicting IOH events.
The hyperparameters for the residual blocks are specified in Supplemental Table 1 from the original paper and vary for different signal type.
A forward pass through the model passes through 85 layers before concatenation, followed by two more linear layers and finally a sigmoid activation layer to produce the prediction measure.
Each residual block consists of the following seven layers:
Skip connections are included to aid in gradient flow during training, with optional 1D convolution in the skip connection to align dimensions.
The hyperparameters are detailed in Supplemental Table 1 of the original paper. A screenshot of these hyperparameters is provided for reference below:

Note: Please be aware of a transcription error in the original paper's Supplemental Table 1 for the ECG+ABP configuration in Residual Blocks 11 and 12, where the output size should be 469 6 instead of the reported 496 6.
Our model uses binary cross entropy as the loss function and Adam as the optimizer, consistent with the original study. The learning rate is set at 0.0001, and training is configured to run for up to 100 epochs, with early stopping implemented if no improvement in loss is observed over five consecutive epochs.
# First define the residual block which is reused 12x for each data track for each sample.
# Second define the primary model.
class ResidualBlock(nn.Module):
def __init__(self, in_features: int, out_features: int, in_channels: int, out_channels: int, kernel_size: int, stride: int = 1, size_down: bool = False, ignoreSkipConnection: bool = False) -> None:
super(ResidualBlock, self).__init__()
self.ignoreSkipConnection = ignoreSkipConnection
# calculate the appropriate padding required to ensure expected sequence lengths out of each residual block
padding = int((((stride-1)*in_features)-stride+kernel_size)/2)
self.size_down = size_down
self.bn1 = nn.BatchNorm1d(in_channels)
self.relu = nn.ReLU()
self.dropout = nn.Dropout(0.5)
self.conv1 = nn.Conv1d(in_channels, out_channels, kernel_size=kernel_size, stride=1, padding=padding, bias=False)
self.bn2 = nn.BatchNorm1d(out_channels)
self.conv2 = nn.Conv1d(out_channels, out_channels, kernel_size=kernel_size, stride=1, padding=padding, bias=False)
self.residualConv = nn.Conv1d(in_channels, out_channels, kernel_size=kernel_size, stride=1, padding=padding, bias=False)
# unclear where in sequence this should take place. Size down expressed in Supplemental table S1
if self.size_down:
pool_padding = (1 if (in_features % 2 > 0) else 0)
self.downsample = nn.MaxPool1d(kernel_size=2, stride=2, padding = pool_padding)
def forward(self, x: torch.Tensor) -> torch.Tensor:
identity = x
out = self.bn1(x)
out = self.relu(out)
out = self.dropout(out)
out = self.conv1(out)
if self.size_down:
out = self.downsample(out)
out = self.bn2(out)
out = self.relu(out)
out = self.conv2(out)
if not self.ignoreSkipConnection:
if out.shape != identity.shape:
# run the residual through a convolution when necessary
identity = self.residualConv(identity)
outlen = np.prod(out.shape)
idlen = np.prod(identity.shape)
# downsample when required
if idlen > outlen:
identity = self.downsample(identity)
# match dimensions
identity = identity.reshape(out.shape)
# add the residual
out += identity
return out
class HypotensionCNN(nn.Module):
def __init__(self, useAbp: bool = True, useEeg: bool = False, useEcg: bool = False, device: str = "cpu", nResiduals: int = 12, ignoreSkipConnection: bool = False, useSigmoid: bool = True) -> None:
assert useAbp or useEeg or useEcg, "At least one data track must be used"
assert nResiduals > 0 and nResiduals <= 12, "Number of residual blocks must be between 1 and 12"
super(HypotensionCNN, self).__init__()
self.device = device
self.useAbp = useAbp
self.useEeg = useEeg
self.useEcg = useEcg
self.nResiduals = nResiduals
self.useSigmoid = useSigmoid
# Size of the concatenated output from the residual blocks
concatSize = 0
if useAbp:
self.abpBlocks = []
self.abpMultipliers = [1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6]
self.abpSizes = [30000, 15000, 15000, 7500, 7500, 3750, 3750, 1875, 1875, 938, 938, 469, 469]
for i in range(self.nResiduals):
downsample = i % 2 == 0
self.abpBlocks.append(ResidualBlock(self.abpSizes[i], self.abpSizes[i+1], self.abpMultipliers[i], self.abpMultipliers[i+1], 15 if i < 6 else 7, 1, downsample, ignoreSkipConnection))
self.abpResiduals = nn.Sequential(*self.abpBlocks)
self.abpFc = nn.Linear(self.abpMultipliers[self.nResiduals] * self.abpSizes[self.nResiduals], 32)
concatSize += 32
if useEcg:
self.ecgBlocks = []
self.ecgMultipliers = [1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6]
self.ecgSizes = [30000, 15000, 15000, 7500, 7500, 3750, 3750, 1875, 1875, 938, 938, 469, 469]
for i in range(self.nResiduals):
downsample = i % 2 == 0
self.ecgBlocks.append(ResidualBlock(self.ecgSizes[i], self.ecgSizes[i+1], self.ecgMultipliers[i], self.ecgMultipliers[i+1], 15 if i < 6 else 7, 1, downsample, ignoreSkipConnection))
self.ecgResiduals = nn.Sequential(*self.ecgBlocks)
self.ecgFc = nn.Linear(self.ecgMultipliers[self.nResiduals] * self.ecgSizes[self.nResiduals], 32)
concatSize += 32
if useEeg:
self.eegBlocks = []
self.eegMultipliers = [1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6]
self.eegSizes = [7680, 3840, 3840, 1920, 1920, 960, 960, 480, 480, 240, 240, 120, 120]
for i in range(self.nResiduals):
downsample = i % 2 == 0
self.eegBlocks.append(ResidualBlock(self.eegSizes[i], self.eegSizes[i+1], self.eegMultipliers[i], self.eegMultipliers[i+1], 7 if i < 6 else 3, 1, downsample, ignoreSkipConnection))
self.eegResiduals = nn.Sequential(*self.eegBlocks)
self.eegFc = nn.Linear(self.eegMultipliers[self.nResiduals] * self.eegSizes[self.nResiduals], 32)
concatSize += 32
self.fullLinear1 = nn.Linear(concatSize, 16)
self.fullLinear2 = nn.Linear(16, 1)
self.sigmoid = nn.Sigmoid()
def forward(self, abp: torch.Tensor, eeg: torch.Tensor, ecg: torch.Tensor) -> torch.Tensor:
batchSize = len(abp)
# conditionally operate ABP, EEG, and ECG networks
tensors = []
if self.useAbp:
self.abpResiduals.to(self.device)
abp = self.abpResiduals(abp)
totalLen = np.prod(abp.shape)
abp = torch.reshape(abp, (batchSize, int(totalLen / batchSize)))
abp = self.abpFc(abp)
tensors.append(abp)
if self.useEeg:
self.eegResiduals.to(self.device)
eeg = self.eegResiduals(eeg)
totalLen = np.prod(eeg.shape)
eeg = torch.reshape(eeg, (batchSize, int(totalLen / batchSize)))
eeg = self.eegFc(eeg)
tensors.append(eeg)
if self.useEcg:
self.ecgResiduals.to(self.device)
ecg = self.ecgResiduals(ecg)
totalLen = np.prod(ecg.shape)
ecg = torch.reshape(ecg, (batchSize, int(totalLen / batchSize)))
ecg = self.ecgFc(ecg)
tensors.append(ecg)
# concatenate the tensors along dimension 1 if there's more than one, otherwise use the single tensor
merged = torch.cat(tensors, dim=1) if len(tensors) > 1 else tensors[0]
totalLen = np.prod(merged.shape)
merged = torch.reshape(merged, (batchSize, int(totalLen / batchSize)))
out = self.fullLinear1(merged)
out = self.fullLinear2(out)
if self.useSigmoid:
out = self.sigmoid(out)
# We should not be seeing NaNs! If we are, there is a problem upstream.
#out = torch.nan_to_num(out)
return out
As discussed earlier, our model uses binary cross entropy as the loss function and Adam as the optimizer, consistent with the original study. The learning rate is set at 0.0001, and training is configured to run for up to 100 epochs, with early stopping implemented if no improvement in loss is observed over five consecutive epochs.
def train_model_one_iter(model, device, loss_func, optimizer, train_loader):
model.train()
train_losses = []
for abp, ecg, eeg, label in tqdm(train_loader):
batch = len(abp)
abp = abp.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
ecg = ecg.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
eeg = eeg.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
label = label.type(torch.float).reshape(batch, 1).to(device)
optimizer.zero_grad()
mdl = model(abp, eeg, ecg)
loss = loss_func(torch.nan_to_num(mdl), label)
loss.backward()
optimizer.step()
train_losses.append(loss.cpu().data.numpy())
return np.mean(train_losses)
def evaluate_model(model, loss_func, val_loader):
model.eval()
val_losses = []
for abp, ecg, eeg, label in tqdm(val_loader):
batch = len(abp)
abp = abp.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
ecg = ecg.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
eeg = eeg.reshape(batch, 1, -1).type(torch.FloatTensor).to(device)
label = label.type(torch.float).reshape(batch, 1).to(device)
mdl = model(abp, eeg, ecg)
loss = loss_func(torch.nan_to_num(mdl), label)
val_losses.append(loss.cpu().data.numpy())
return np.mean(val_losses)
def plot_losses(train_losses, val_losses, best_epoch, experimentName):
print()
print(f'Plot Validation and Loss Values from Training')
print(f' Epoch with best Validation Loss: {best_epoch:3}, {val_losses[best_epoch]:.4}')
# Create x-axis values for epochs
epochs = range(0, len(train_losses))
plt.figure(figsize=(16, 9))
# Plot the training and validation losses
plt.plot(epochs, train_losses, 'b', label='Training Loss')
plt.plot(epochs, val_losses, 'r', label='Validation Loss')
# Add a vertical bar at the best_epoch
plt.axvline(x=best_epoch, color='g', linestyle='--', label='Best Epoch')
# Shade everything to the right of the best_epoch a light red
plt.axvspan(best_epoch, max(epochs), facecolor='r', alpha=0.1)
# Add labels and title
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.title(experimentName)
# Add legend
plt.legend(loc='upper right')
# Save plot to disk
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_losses.png'))
# Show the plot
plt.show()
def eval_model(model, device, dataloader, loss_func, print_detailed: bool = False):
model.eval()
model = model.to(device)
total_loss = 0
all_predictions = []
all_labels = []
with torch.no_grad():
for abp, ecg, eeg, label in tqdm(dataloader):
batch = len(abp)
abp = torch.nan_to_num(abp.reshape(batch, 1, -1)).type(torch.FloatTensor).to(device)
ecg = torch.nan_to_num(ecg.reshape(batch, 1, -1)).type(torch.FloatTensor).to(device)
eeg = torch.nan_to_num(eeg.reshape(batch, 1, -1)).type(torch.FloatTensor).to(device)
label = label.type(torch.float).reshape(batch, 1).to(device)
pred = model(abp, eeg, ecg)
loss = loss_func(pred, label)
total_loss += loss.item()
all_predictions.append(pred.detach().cpu().numpy())
all_labels.append(label.detach().cpu().numpy())
# Flatten the lists
all_predictions = np.concatenate(all_predictions).flatten()
all_labels = np.concatenate(all_labels).flatten()
# Calculate AUROC and AUPRC
# y_true, y_pred
auroc = roc_auc_score(all_labels, all_predictions)
precision, recall, _ = precision_recall_curve(all_labels, all_predictions)
auprc = auc(recall, precision)
# Determine the optimal threshold, which is argmin(abs(sensitivity - specificity)) per the paper
thresholds = np.linspace(0, 1, 101) # 0 to 1 in 0.01 steps
min_diff = float('inf')
optimal_sensitivity = None
optimal_specificity = None
optimal_threshold = None
for threshold in thresholds:
all_predictions_binary = (all_predictions > threshold).astype(int)
tn, fp, fn, tp = confusion_matrix(all_labels, all_predictions_binary).ravel()
sensitivity = tp / (tp + fn)
specificity = tn / (tn + fp)
diff = abs(sensitivity - specificity)
if diff < min_diff:
min_diff = diff
optimal_threshold = threshold
optimal_sensitivity = sensitivity
optimal_specificity = specificity
avg_loss = total_loss / len(dataloader)
# accuracy
predictions_binary = (all_predictions > optimal_threshold).astype(int)
accuracy = np.mean(predictions_binary == all_labels)
if print_detailed:
print(f"Predictions: {all_predictions}")
print(f"Labels: {all_labels}")
print(f"Loss: {avg_loss}")
print(f"AUROC: {auroc}")
print(f"AUPRC: {auprc}")
print(f"Sensitivity: {optimal_sensitivity}")
print(f"Specificity: {optimal_specificity}")
print(f"Threshold: {optimal_threshold}")
print(f"Accuracy: {accuracy}")
return all_predictions, all_labels, avg_loss, auroc, auprc, \
optimal_sensitivity, optimal_specificity, optimal_threshold, accuracy
def print_all_evals(model, models, device, val_loader, test_loader, loss_func, print_detailed: bool = False):
print()
print(f'Generate AUROC/AUPRC for Each Intermediate Model')
print()
val_aurocs = []
val_auprcs = []
val_accs = []
test_aurocs = []
test_auprcs = []
test_accs = []
for mod in models:
model.load_state_dict(torch.load(mod))
#model.train(False)
model.eval()
print(f'Intermediate Model:')
print(f' {mod}')
# validation loop
print("AUROC/AUPRC on Validation Data")
all_predictions, all_labels, avg_loss, valid_auroc, valid_auprc, \
optimal_sensitivity, optimal_specificity, optimal_threshold, valid_accuracy = \
eval_model(model, device, val_loader, loss_func, print_detailed)
val_aurocs.append(valid_auroc)
val_auprcs.append(valid_auprc)
val_accs.append(valid_accuracy)
print()
# test loop
print("AUROC/AUPRC on Test Data")
all_predictions, all_labels, avg_loss, test_auroc, test_auprc, \
optimal_sensitivity, optimal_specificity, optimal_threshold, test_accuracy = \
eval_model(model, device, test_loader, loss_func, print_detailed)
test_aurocs.append(test_auroc)
test_auprcs.append(test_auprc)
test_accs.append(test_accuracy)
print()
return val_aurocs, val_auprcs, val_accs, test_aurocs, test_auprcs, test_accs
def plot_auroc_auprc(val_losses, val_aurocs, val_auprcs, val_accs,
test_aurocs, test_auprcs, test_accs, all_models, best_epoch, experimentName):
print()
print(f'Plot AUROC/AUPRC for Each Intermediate Model')
# Create x-axis values for epochs
epochs = range(0, len(val_aurocs))
# Find model with highest AUROC
np_test_aurocs = np.array(test_aurocs)
test_auroc_idx = np.argmax(np_test_aurocs)
test_accs_idx = np.argmax(test_accs)
print(f' Epoch with best Validation Loss: {best_epoch:3}, {val_losses[best_epoch]:.4}')
print(f' Epoch with best model Test AUROC: {test_auroc_idx:3}, {np_test_aurocs[test_auroc_idx]:.4}')
print(f' Epoch with best model Test Accuracy: {test_accs_idx:3}, {test_accs[test_accs_idx]:.4}')
#print(f'Best Model on Validation Loss:')
#print(f' {all_models[test_auroc_idx]}')
#print(f'Best Model on Test AUROC:')
#print(f' {all_models[best_epoch]}')
print()
plt.figure(figsize=(16, 9))
# Plots
plt.plot(epochs, val_aurocs, 'C0', label='AUROC - Validation')
plt.plot(epochs, test_aurocs, 'C1', label='AUROC - Test')
plt.plot(epochs, val_auprcs, 'C2', label='AUPRC - Validation')
plt.plot(epochs, test_auprcs, 'C3', label='AUPRC - Test')
plt.plot(epochs, val_accs, 'C4', label='Accuracy - Validation')
plt.plot(epochs, test_accs, 'C5', label='Accuracy - Test')
# Add vertical bars
plt.axvline(x=best_epoch, color='g', linestyle='--', label='Best Epoch - Validation Loss')
plt.axvline(x=test_auroc_idx, color='maroon', linestyle='--', label='Best Epoch - Test AUROC')
plt.axvline(x=test_accs_idx, color='violet', linestyle='--', label='Best Epoch - Test Accuracy')
# Shade everything to the right of the best_model a light red
plt.axvspan(test_auroc_idx, max(epochs), facecolor='r', alpha=0.1)
# Add labels and title
plt.xlabel('Epochs')
plt.ylabel('AUROC / AUPRC')
plt.title('Validation and Test AUROC and AUPRC by Model Iteration Across Training')
# Add legend
plt.legend(loc='right')
# Save plot to disk
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_all_stats.png'))
# Show the plot
plt.show()
return np_test_aurocs, test_auroc_idx
def run_experiment(
experimentNamePrefix: str = None,
useAbp: bool = True,
useEeg: bool = False,
useEcg: bool = False,
nResiduals: int = 12,
skip_connection: bool = False,
batch_size: int = 64,
learning_rate: float = 1e-4,
weight_decay: float = 0.0,
balance_labels: bool = False,
pos_weight: float = None,
max_epochs: int = 100,
patience: int = 25,
device: str = "cpu"
):
reset_random_state()
time_start = timer()
experimentName = ""
experimentOptions = [experimentNamePrefix, 'ABP', 'EEG', 'ECG', 'SKIPCONNECTION']
experimentValues = [experimentNamePrefix is not None, useAbp, useEeg, useEcg, skip_connection]
experimentFlags = [name for name, value in zip(experimentOptions, experimentValues) if value]
if experimentFlags:
experimentName = "_".join(experimentFlags)
experimentName = f"{experimentName}_{nResiduals}_RESIDUAL_BLOCKS_{batch_size}_BATCH_SIZE_{learning_rate:.0e}_LEARNING_RATE"
if weight_decay is not None and weight_decay != 0.0:
experimentName = f"{experimentName}_{weight_decay:.0e}_WEIGHT_DECAY"
predictionWindow = 'ALL' if PREDICTION_WINDOW == 'ALL' else f'{PREDICTION_WINDOW:03}'
experimentName = f"{experimentName}_{predictionWindow}_MINS"
maxCases = '_ALL' if MAX_CASES is None else f'{MAX_CASES:04}'
experimentName = f"{experimentName}_{maxCases}_MAX_CASES"
# Add unique uuid8 suffix to experiment name
experimentName = f"{experimentName}_{uuid.uuid4().hex[:8]}"
# default label split based on empirical data
my_pos_weight = 4.0
if balance_labels and pos_weight is not None:
my_pos_weight = pos_weight
# Fork stdout to file and console
with ForkedStdout(os.path.join(VITAL_RUNS, f'{experimentName}.log')):
print(f"Experiment Setup")
print(f' name: {experimentName}')
print(f' prediction_window: {predictionWindow}')
print(f' max_cases: {maxCases}')
print(f' use_abp: {useAbp}')
print(f' use_eeg: {useEeg}')
print(f' use_ecg: {useEcg}')
print(f' n_residuals: {nResiduals}')
print(f' skip_connection: {skip_connection}')
print(f' batch_size: {batch_size}')
print(f' learning_rate: {learning_rate}')
print(f' weight_decay: {weight_decay}')
print(f' balance_labels: {balance_labels}')
if balance_labels:
print(f' pos_weight: {my_pos_weight}')
print(f' max_epochs: {max_epochs}')
print(f' patience: {patience}')
print(f' device: {device}')
print()
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=batch_size, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size, shuffle=False)
# Disable final sigmoid activation for BCEWithLogitsLoss
model = HypotensionCNN(useAbp, useEeg, useEcg, device, nResiduals, skip_connection, useSigmoid=(not balance_labels))
model = model.to(device)
if balance_labels:
# Only the weight for the positive class
loss_func = nn.BCEWithLogitsLoss(pos_weight=torch.tensor([my_pos_weight]).to(device))
else:
loss_func = nn.BCELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate, weight_decay=weight_decay)
print(f'Model Architecture')
print(model)
print()
print(f'Training Loop')
# Training loop
best_epoch = 0
train_losses = []
val_losses = []
best_loss = float('inf')
no_improve_epochs = 0
model_path = os.path.join(VITAL_MODELS, f"{experimentName}.model")
all_models = []
for i in range(max_epochs):
# Train the model and get the training loss
train_loss = train_model_one_iter(model, device, loss_func, optimizer, train_loader)
train_losses.append(train_loss)
# Calculate validate loss
val_loss = evaluate_model(model, loss_func, val_loader)
val_losses.append(val_loss)
print(f"[{datetime.now()}] Completed epoch {i} with training loss {train_loss:.8f}, validation loss {val_loss:.8f}")
# Save all intermediary models.
tmp_model_path = os.path.join(VITAL_MODELS, f"{experimentName}_{i:04d}.model")
torch.save(model.state_dict(), tmp_model_path)
all_models.append(tmp_model_path)
# Check if validation loss has improved
if val_loss < best_loss:
best_epoch = i
best_loss = val_loss
no_improve_epochs = 0
torch.save(model.state_dict(), model_path)
print(f"Validation loss improved to {val_loss:.8f}. Model saved.")
else:
no_improve_epochs += 1
print(f"No improvement in validation loss. {no_improve_epochs} epochs without improvement.")
# exit early if no improvement in loss over last 'patience' epochs
if no_improve_epochs >= patience:
print("Early stopping due to no improvement in validation loss.")
break
# Load best model from disk
#print()
#if os.path.exists(model_path):
# model.load_state_dict(torch.load(model_path))
# print(f"Loaded best model from disk from epoch {best_epoch}.")
#else:
# print("No saved model found for f{experimentName}.")
#model.train(False)
# Plot the training and validation losses across all training epochs.
plot_losses(train_losses, val_losses, best_epoch, experimentName)
# Generate AUROC/AUPRC for each intermediate model generated across training epochs.
val_aurocs, val_auprcs, val_accs, test_aurocs, test_auprcs, test_accs = \
print_all_evals(model, all_models, device, val_loader, test_loader, loss_func, print_detailed=False)
# Find model with highest AUROC. Plot AUROC/AUPRC across all epochs.
np_test_aurocs, test_auroc_idx = plot_auroc_auprc(val_losses, val_aurocs, val_auprcs, val_accs, \
test_aurocs, test_auprcs, test_accs, all_models, best_epoch, experimentName)
## AUROC / AUPRC - Model with Best Validation Loss
best_model_val_loss = all_models[best_epoch]
print(f'AUROC/AUPRC Plots - Best Model Based on Validation Loss')
print(f' Epoch with best Validation Loss: {best_epoch:3}, {val_losses[best_epoch]:.4}')
print(f' Best Model Based on Validation Loss:')
print(f' {best_model_val_loss}')
print()
print(f'Generate Stats Based on Test Data')
model.load_state_dict(torch.load(best_model_val_loss))
#model.train(False)
model.eval()
best_model_val_test_predictions, best_model_val_test_labels, test_loss, \
best_model_val_test_auroc, best_model_val_test_auprc, test_sensitivity, test_specificity, \
best_model_val_test_threshold, best_model_val_accuracy = \
eval_model(model, device, test_loader, loss_func, print_detailed=False)
# y_test, y_pred
display = RocCurveDisplay.from_predictions(
best_model_val_test_labels,
best_model_val_test_predictions,
plot_chance_level=True
)
# Save plot to disk and show
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_val_auroc.png'))
plt.show()
print(f'best_model_val_test_auroc: {best_model_val_test_auroc}')
best_model_val_test_predictions_binary = \
(best_model_val_test_predictions > best_model_val_test_threshold).astype(int)
# y_test, y_pred
display = PrecisionRecallDisplay.from_predictions(
best_model_val_test_labels,
best_model_val_test_predictions_binary,
plot_chance_level=True
)
# Save plot to disk and show
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_val_auprc.png'))
plt.show()
print(f'best_model_val_test_auprc: {best_model_val_test_auprc}')
print()
## AUROC / AUPRC - Model with Best AUROC
# Find model with highest AUROC
best_model_auroc = all_models[test_auroc_idx]
print(f'AUROC/AUPRC Plots - Best Model Based on Model AUROC')
print(f' Epoch with best model Test AUROC: {test_auroc_idx:3}, {np_test_aurocs[test_auroc_idx]:.4}')
print(f' Best Model Based on Model AUROC:')
print(f' {best_model_auroc}')
print()
print(f'Generate Stats Based on Test Data')
model.load_state_dict(torch.load(best_model_auroc))
#model.train(False)
model.eval()
best_model_auroc_test_predictions, best_model_auroc_test_labels, test_loss, \
best_model_auroc_test_auroc, best_model_auroc_test_auprc, test_sensitivity, test_specificity, \
best_model_auroc_test_threshold, best_model_auroc_accuracy = \
eval_model(model, device, test_loader, loss_func, print_detailed=False)
# y_test, y_pred
display = RocCurveDisplay.from_predictions(
best_model_auroc_test_labels,
best_model_auroc_test_predictions,
plot_chance_level=True
)
# Save plot to disk and show
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_auroc_auroc.png'))
plt.show()
print(f'best_model_auroc_test_auroc: {best_model_auroc_test_auroc}')
best_model_auroc_test_predictions_binary = \
(best_model_auroc_test_predictions > best_model_auroc_test_threshold).astype(int)
# y_test, y_pred
display = PrecisionRecallDisplay.from_predictions(
best_model_auroc_test_labels,
best_model_auroc_test_predictions_binary,
plot_chance_level=True
)
# Save plot to disk and show
plt.savefig(os.path.join(VITAL_RUNS, f'{experimentName}_auroc_auprc.png'))
plt.show()
print(f"best_model_auroc_test_auprc: {best_model_auroc_test_auprc}")
print()
time_delta = np.round(timer() - time_start, 3)
print(f'Total Processing Time: {time_delta:.4f} sec')
print('Time to experiment!')
Time to experiment!
MULTI_RUN = True
RUN_ME = True
if RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51
prediction_window: 015
max_cases: _ALL
use_abp: True
use_eeg: False
use_ecg: False
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(abpResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(abpFc): Linear(in_features=2814, out_features=32, bias=True)
(fullLinear1): Linear(in_features=32, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.93it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 09:30:04.819804] Completed epoch 0 with training loss 0.43514436, validation loss 0.41668430 Validation loss improved to 0.41668430. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.00it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
[2024-05-04 09:30:50.672807] Completed epoch 1 with training loss 0.40187803, validation loss 0.42078599 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 09:31:36.991198] Completed epoch 2 with training loss 0.40012389, validation loss 0.44391116 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.97it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 09:32:23.147747] Completed epoch 3 with training loss 0.39683139, validation loss 0.42646933 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:33:08.128277] Completed epoch 4 with training loss 0.39612669, validation loss 0.42812926 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 09:33:53.067692] Completed epoch 5 with training loss 0.39507776, validation loss 0.41308889 Validation loss improved to 0.41308889. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 09:34:37.905223] Completed epoch 6 with training loss 0.39416981, validation loss 0.41911429 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 09:35:22.715077] Completed epoch 7 with training loss 0.39305383, validation loss 0.41997433 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:36:07.619874] Completed epoch 8 with training loss 0.39494687, validation loss 0.42337504 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 09:36:52.444242] Completed epoch 9 with training loss 0.39586556, validation loss 0.41255239 Validation loss improved to 0.41255239. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:37:37.378034] Completed epoch 10 with training loss 0.39577657, validation loss 0.41800866 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:38:22.387659] Completed epoch 11 with training loss 0.39402184, validation loss 0.42512640 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:39:07.322074] Completed epoch 12 with training loss 0.39394921, validation loss 0.41355285 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
[2024-05-04 09:39:52.189715] Completed epoch 13 with training loss 0.39441675, validation loss 0.41659132 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 09:40:36.955334] Completed epoch 14 with training loss 0.39603743, validation loss 0.41525021 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.04it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 09:41:21.757941] Completed epoch 15 with training loss 0.39485961, validation loss 0.41495186 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:42:06.766105] Completed epoch 16 with training loss 0.39442125, validation loss 0.42121863 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 09:42:51.012556] Completed epoch 17 with training loss 0.39471704, validation loss 0.43838289 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:43:35.356901] Completed epoch 18 with training loss 0.39602658, validation loss 0.42454410 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:44:20.270944] Completed epoch 19 with training loss 0.39479148, validation loss 0.43122655 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:45:04.437535] Completed epoch 20 with training loss 0.39507377, validation loss 0.41206929 Validation loss improved to 0.41206929. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
[2024-05-04 09:45:48.795525] Completed epoch 21 with training loss 0.39430195, validation loss 0.42220321 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:46:33.086285] Completed epoch 22 with training loss 0.39409453, validation loss 0.41016912 Validation loss improved to 0.41016912. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.57it/s]
[2024-05-04 09:47:17.379285] Completed epoch 23 with training loss 0.39320680, validation loss 0.41491938 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 09:48:01.611642] Completed epoch 24 with training loss 0.39522654, validation loss 0.42463246 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:48:45.835055] Completed epoch 25 with training loss 0.39477357, validation loss 0.42028883 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:49:30.002012] Completed epoch 26 with training loss 0.39554808, validation loss 0.41323671 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:50:14.259885] Completed epoch 27 with training loss 0.39567468, validation loss 0.40719089 Validation loss improved to 0.40719089. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 09:50:58.449374] Completed epoch 28 with training loss 0.39385101, validation loss 0.41944361 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:51:42.631831] Completed epoch 29 with training loss 0.39369261, validation loss 0.42065114 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 09:52:26.957812] Completed epoch 30 with training loss 0.39418188, validation loss 0.40847775 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 09:53:11.180594] Completed epoch 31 with training loss 0.39526659, validation loss 0.40580460 Validation loss improved to 0.40580460. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.57it/s]
[2024-05-04 09:53:55.344950] Completed epoch 32 with training loss 0.39366660, validation loss 0.40550056 Validation loss improved to 0.40550056. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:54:39.672201] Completed epoch 33 with training loss 0.39381653, validation loss 0.40864512 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 09:55:23.796151] Completed epoch 34 with training loss 0.39369935, validation loss 0.41096520 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 09:56:08.027781] Completed epoch 35 with training loss 0.39380363, validation loss 0.40664658 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 09:56:52.295820] Completed epoch 36 with training loss 0.39470449, validation loss 0.40788791 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:57:36.542503] Completed epoch 37 with training loss 0.39426976, validation loss 0.42024857 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:58:20.876928] Completed epoch 38 with training loss 0.39324275, validation loss 0.41582194 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 09:59:05.085281] Completed epoch 39 with training loss 0.39486191, validation loss 0.44362971 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 09:59:49.269313] Completed epoch 40 with training loss 0.39359337, validation loss 0.41207263 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.08it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:00:33.293829] Completed epoch 41 with training loss 0.39336810, validation loss 0.40666768 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:01:17.442462] Completed epoch 42 with training loss 0.39352164, validation loss 0.40799636 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:02:01.658710] Completed epoch 43 with training loss 0.39295068, validation loss 0.40822035 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:02:45.933580] Completed epoch 44 with training loss 0.39475513, validation loss 0.41569167 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 10:03:30.115350] Completed epoch 45 with training loss 0.39311054, validation loss 0.40413490 Validation loss improved to 0.40413490. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 10:04:15.165610] Completed epoch 46 with training loss 0.39349264, validation loss 0.40660605 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:04:59.421227] Completed epoch 47 with training loss 0.39241630, validation loss 0.40991586 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:05:43.577345] Completed epoch 48 with training loss 0.39409500, validation loss 0.41914296 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:06:27.895254] Completed epoch 49 with training loss 0.39356631, validation loss 0.40977377 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:07:12.120991] Completed epoch 50 with training loss 0.39456728, validation loss 0.40415099 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:07:56.352065] Completed epoch 51 with training loss 0.39378518, validation loss 0.41288826 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:08:40.636153] Completed epoch 52 with training loss 0.39277041, validation loss 0.41618744 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:09:24.858789] Completed epoch 53 with training loss 0.39370370, validation loss 0.41390374 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.08it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:10:08.894569] Completed epoch 54 with training loss 0.39360073, validation loss 0.41123489 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:10:53.167560] Completed epoch 55 with training loss 0.39481926, validation loss 0.40864745 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:11:37.335162] Completed epoch 56 with training loss 0.39350757, validation loss 0.41337013 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 10:12:21.574192] Completed epoch 57 with training loss 0.39504233, validation loss 0.48009822 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:13:05.783669] Completed epoch 58 with training loss 0.39377898, validation loss 0.40654379 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:13:49.958585] Completed epoch 59 with training loss 0.39382321, validation loss 0.40892476 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:14:34.249156] Completed epoch 60 with training loss 0.39332744, validation loss 0.42497340 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:15:18.467267] Completed epoch 61 with training loss 0.39413518, validation loss 0.40364441 Validation loss improved to 0.40364441. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.05it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:16:02.956150] Completed epoch 62 with training loss 0.39500332, validation loss 0.42856115 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 10:16:47.814494] Completed epoch 63 with training loss 0.39464369, validation loss 0.41667351 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:17:31.947965] Completed epoch 64 with training loss 0.39481097, validation loss 0.40510342 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:18:16.272622] Completed epoch 65 with training loss 0.39558879, validation loss 0.41908687 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:19:00.466028] Completed epoch 66 with training loss 0.39448413, validation loss 0.41419053 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 10:19:44.690447] Completed epoch 67 with training loss 0.39338374, validation loss 0.42825273 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:20:28.855255] Completed epoch 68 with training loss 0.39408502, validation loss 0.40688327 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:21:13.131131] Completed epoch 69 with training loss 0.39414421, validation loss 0.40746877 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:21:57.472592] Completed epoch 70 with training loss 0.39383101, validation loss 0.40717492 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:22:41.703703] Completed epoch 71 with training loss 0.39455876, validation loss 0.42040324 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:23:25.847258] Completed epoch 72 with training loss 0.39455992, validation loss 0.41629809 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:24:10.054710] Completed epoch 73 with training loss 0.39572865, validation loss 0.41070578 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:24:54.253696] Completed epoch 74 with training loss 0.39423245, validation loss 0.40775201 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:25:38.420256] Completed epoch 75 with training loss 0.39515013, validation loss 0.40342787 Validation loss improved to 0.40342787. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:26:22.796442] Completed epoch 76 with training loss 0.39511293, validation loss 0.41999128 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.06it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 10:27:07.087526] Completed epoch 77 with training loss 0.39518899, validation loss 0.41476259 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:27:51.379316] Completed epoch 78 with training loss 0.39405474, validation loss 0.40725952 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.56it/s]
[2024-05-04 10:28:35.571575] Completed epoch 79 with training loss 0.39414197, validation loss 0.42200169 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.03it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
[2024-05-04 10:29:20.842906] Completed epoch 80 with training loss 0.39451519, validation loss 0.42236713 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.99it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 10:30:06.606749] Completed epoch 81 with training loss 0.39473400, validation loss 0.40862960 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.00it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:30:52.154258] Completed epoch 82 with training loss 0.39455369, validation loss 0.42538637 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.05it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 10:31:36.648682] Completed epoch 83 with training loss 0.39498681, validation loss 0.40536168 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:38<00:00, 2.07it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
[2024-05-04 10:32:21.882647] Completed epoch 84 with training loss 0.39522678, validation loss 0.40912470 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.00it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 10:33:07.448271] Completed epoch 85 with training loss 0.39509726, validation loss 0.41853914 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.00it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
[2024-05-04 10:33:53.086687] Completed epoch 86 with training loss 0.39690328, validation loss 0.41875920 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.95it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 10:34:39.893843] Completed epoch 87 with training loss 0.39697066, validation loss 0.40543804 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.95it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 10:35:26.966007] Completed epoch 88 with training loss 0.39414090, validation loss 0.43973032 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 10:36:13.027122] Completed epoch 89 with training loss 0.39568418, validation loss 0.40503675 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.96it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 10:36:59.718567] Completed epoch 90 with training loss 0.39423013, validation loss 0.41487354 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.91it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 10:37:47.592317] Completed epoch 91 with training loss 0.39475036, validation loss 0.41947433 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 10:38:33.596876] Completed epoch 92 with training loss 0.39394817, validation loss 0.41042379 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.01it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.52it/s]
[2024-05-04 10:39:18.961496] Completed epoch 93 with training loss 0.39484578, validation loss 0.41621050 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.01it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 10:40:04.931161] Completed epoch 94 with training loss 0.39534441, validation loss 0.41775441 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:39<00:00, 2.02it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 10:40:50.100923] Completed epoch 95 with training loss 0.39509165, validation loss 0.43051109 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 75, 0.4034
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:04<00:00, 2.90it/s]
Loss: 0.41723818864141193 AUROC: 0.6963569998822561 AUPRC: 0.31093148044921354 Sensitivity: 0.6771929824561403 Specificity: 0.6308724832214765 Threshold: 0.14 Accuracy: 0.6383098591549295 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4151785932481289 AUROC: 0.7310996273403811 AUPRC: 0.3437781695064106 Sensitivity: 0.7014388489208633 Specificity: 0.6455399061032864 Threshold: 0.14 Accuracy: 0.654691794267766 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4210246226617268 AUROC: 0.6982715177204757 AUPRC: 0.32400143010250526 Sensitivity: 0.6280701754385964 Specificity: 0.6791946308724832 Threshold: 0.12 Accuracy: 0.6709859154929577 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.4193843066692352 AUROC: 0.7337293545445335 AUPRC: 0.3535606695496458 Sensitivity: 0.6498800959232613 Specificity: 0.6866197183098591 Threshold: 0.12 Accuracy: 0.6806046329014527 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4438352180378778 AUROC: 0.6981372895325562 AUPRC: 0.3322430020352491 Sensitivity: 0.6807017543859649 Specificity: 0.6154362416107383 Threshold: 0.08 Accuracy: 0.6259154929577465 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.4431084867566824 AUROC: 0.7341630920615619 AUPRC: 0.35786309404960137 Sensitivity: 0.7134292565947242 Specificity: 0.6295774647887324 Threshold: 0.08 Accuracy: 0.6433058500196309 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.42694517757211414 AUROC: 0.6986836218061933 AUPRC: 0.3346133946011764 Sensitivity: 0.6701754385964912 Specificity: 0.625503355704698 Threshold: 0.1 Accuracy: 0.6326760563380281 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.54it/s]
Loss: 0.42549490593373773 AUROC: 0.7351096587518716 AUPRC: 0.35980640959949345 Sensitivity: 0.7110311750599521 Specificity: 0.637793427230047 Threshold: 0.1 Accuracy: 0.6497840596780526 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4275394082069397 AUROC: 0.69872600965501 AUPRC: 0.3368380227026778 Sensitivity: 0.656140350877193 Specificity: 0.6422818791946309 Threshold: 0.1 Accuracy: 0.6445070422535212 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.42605866566300393 AUROC: 0.7354092782112338 AUPRC: 0.3619617599998756 Sensitivity: 0.6966426858513189 Specificity: 0.652112676056338 Threshold: 0.1 Accuracy: 0.6594032194738908 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4139012949807303 AUROC: 0.6991899211115037 AUPRC: 0.33718510249692113 Sensitivity: 0.631578947368421 Specificity: 0.6731543624161074 Threshold: 0.14 Accuracy: 0.6664788732394367 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.4110303808003664 AUROC: 0.736094926875401 AUPRC: 0.36237945121630044 Sensitivity: 0.6594724220623501 Specificity: 0.6880281690140845 Threshold: 0.14 Accuracy: 0.6833529642716922 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.419337381209646 AUROC: 0.6988720122453785 AUPRC: 0.33751297814823367 Sensitivity: 0.631578947368421 Specificity: 0.6751677852348993 Threshold: 0.12 Accuracy: 0.668169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.41730986833572387 AUROC: 0.735908878530978 AUPRC: 0.3630875404411929 Sensitivity: 0.657074340527578 Specificity: 0.6906103286384977 Threshold: 0.12 Accuracy: 0.685119748723989 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4192498539175306 AUROC: 0.6988696573648887 AUPRC: 0.33794153834707424 Sensitivity: 0.624561403508772 Specificity: 0.6798657718120805 Threshold: 0.12 Accuracy: 0.6709859154929577 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4183268904685974 AUROC: 0.7361778183087333 AUPRC: 0.36405588283888374 Sensitivity: 0.6534772182254197 Specificity: 0.6976525821596244 Threshold: 0.12 Accuracy: 0.6904201020808794 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.42345842719078064 AUROC: 0.6983021311668433 AUPRC: 0.33722955246881703 Sensitivity: 0.6421052631578947 Specificity: 0.6630872483221476 Threshold: 0.11 Accuracy: 0.6597183098591549 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.42254472710192204 AUROC: 0.7352900777969175 AUPRC: 0.3632031282576994 Sensitivity: 0.6786570743405276 Specificity: 0.6774647887323944 Threshold: 0.11 Accuracy: 0.6776599921476246 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4125680774450302 AUROC: 0.6984905216060285 AUPRC: 0.33559775244876394 Sensitivity: 0.6526315789473685 Specificity: 0.6536912751677852 Threshold: 0.14 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4106356307864189 AUROC: 0.7354375654406052 AUPRC: 0.3621155504789023 Sensitivity: 0.6870503597122302 Specificity: 0.6647887323943662 Threshold: 0.14 Accuracy: 0.6684334511189635 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4186976637159075 AUROC: 0.698292711644884 AUPRC: 0.33667687406672236 Sensitivity: 0.6526315789473685 Specificity: 0.6503355704697986 Threshold: 0.12 Accuracy: 0.6507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.41725657545030115 AUROC: 0.7350947411085216 AUPRC: 0.36238802192268127 Sensitivity: 0.6918465227817746 Specificity: 0.6596244131455399 Threshold: 0.12 Accuracy: 0.6648998822143698 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4262016990355083 AUROC: 0.6980430943129636 AUPRC: 0.336033767674659 Sensitivity: 0.6666666666666666 Specificity: 0.6281879194630873 Threshold: 0.1 Accuracy: 0.6343661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.42488571256399155 AUROC: 0.7347502279866248 AUPRC: 0.361749347693369 Sensitivity: 0.6402877697841727 Specificity: 0.7091549295774648 Threshold: 0.11 Accuracy: 0.6978798586572438 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4148441127368382 AUROC: 0.6982632756387613 AUPRC: 0.3364041975349119 Sensitivity: 0.6421052631578947 Specificity: 0.6610738255033557 Threshold: 0.14 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.41258043982088566 AUROC: 0.7346933720629131 AUPRC: 0.36135386991271823 Sensitivity: 0.6750599520383693 Specificity: 0.6795774647887324 Threshold: 0.14 Accuracy: 0.6788378484491558 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4155487354312624 AUROC: 0.6982008713057811 AUPRC: 0.33813452804841615 Sensitivity: 0.6350877192982456 Specificity: 0.6677852348993288 Threshold: 0.13 Accuracy: 0.6625352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.41452820114791394 AUROC: 0.7342836998007227 AUPRC: 0.3608009711972105 Sensitivity: 0.6666666666666666 Specificity: 0.6896713615023474 Threshold: 0.13 Accuracy: 0.6859049862583432 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.41559421590396334 AUROC: 0.6981608383374543 AUPRC: 0.3382429852540775 Sensitivity: 0.6491228070175439 Specificity: 0.6563758389261745 Threshold: 0.13 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4156935431063175 AUROC: 0.7341315679850486 AUPRC: 0.36052070334816433 Sensitivity: 0.684652278177458 Specificity: 0.6683098591549296 Threshold: 0.13 Accuracy: 0.6709854731056144 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.4157654983656747 AUROC: 0.697922995407983 AUPRC: 0.33995456378754896 Sensitivity: 0.6350877192982456 Specificity: 0.6664429530201342 Threshold: 0.13 Accuracy: 0.6614084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.41505490727722644 AUROC: 0.7336815054998255 AUPRC: 0.36079861160923204 Sensitivity: 0.6666666666666666 Specificity: 0.6894366197183098 Threshold: 0.13 Accuracy: 0.6857086768747546 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4209630489349365 AUROC: 0.6975838926174496 AUPRC: 0.34235947040396225 Sensitivity: 0.6596491228070176 Specificity: 0.6476510067114094 Threshold: 0.11 Accuracy: 0.6495774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.421341572701931 AUROC: 0.733260715371365 AUPRC: 0.3606642949850805 Sensitivity: 0.6942446043165468 Specificity: 0.6544600938967137 Threshold: 0.11 Accuracy: 0.6609736945425991 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.43741550190108164 AUROC: 0.6970246085011187 AUPRC: 0.3418530363529849 Sensitivity: 0.631578947368421 Specificity: 0.6671140939597315 Threshold: 0.09 Accuracy: 0.6614084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4394695281982422 AUROC: 0.7320996723747762 AUPRC: 0.3593031288418948 Sensitivity: 0.6654676258992805 Specificity: 0.6845070422535211 Threshold: 0.09 Accuracy: 0.6813898704358068 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4239757444177355 AUROC: 0.6973107264806312 AUPRC: 0.34156457095449433 Sensitivity: 0.6385964912280702 Specificity: 0.6624161073825503 Threshold: 0.11 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4249271102249622 AUROC: 0.7322778397000709 AUPRC: 0.35928428602219153 Sensitivity: 0.6690647482014388 Specificity: 0.6769953051643193 Threshold: 0.11 Accuracy: 0.6756968983117393 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.43011744746140074 AUROC: 0.6969339456022606 AUPRC: 0.341233259404634 Sensitivity: 0.6175438596491228 Specificity: 0.6724832214765101 Threshold: 0.1 Accuracy: 0.663661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.43205818720161915 AUROC: 0.731603590367143 AUPRC: 0.3586829688463591 Sensitivity: 0.6534772182254197 Specificity: 0.6948356807511737 Threshold: 0.1 Accuracy: 0.688064389477817 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.41095458822590963 AUROC: 0.6978452843518191 AUPRC: 0.33680418291287023 Sensitivity: 0.6736842105263158 Specificity: 0.6140939597315436 Threshold: 0.14 Accuracy: 0.6236619718309859 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4118303246796131 AUROC: 0.7325595861339099 AUPRC: 0.3591500016939404 Sensitivity: 0.6522781774580336 Specificity: 0.6992957746478873 Threshold: 0.15 Accuracy: 0.6915979583824107 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.42112702982766287 AUROC: 0.6973955021782644 AUPRC: 0.33542905023396496 Sensitivity: 0.6631578947368421 Specificity: 0.6348993288590604 Threshold: 0.11 Accuracy: 0.6394366197183099 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.42213898040354253 AUROC: 0.7317954087434277 AUPRC: 0.35843465605769015 Sensitivity: 0.7014388489208633 Specificity: 0.6490610328638498 Threshold: 0.11 Accuracy: 0.6576364350215941 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4124141378062112 AUROC: 0.6982126457082303 AUPRC: 0.3354227484015321 Sensitivity: 0.6421052631578947 Specificity: 0.6570469798657718 Threshold: 0.14 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.40987005792558195 AUROC: 0.7325083595095755 AUPRC: 0.3581270455432354 Sensitivity: 0.6822541966426858 Specificity: 0.6694835680751173 Threshold: 0.14 Accuracy: 0.67157440125638 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.414842073406492 AUROC: 0.6975509242905922 AUPRC: 0.3346262271101788 Sensitivity: 0.6491228070175439 Specificity: 0.6604026845637584 Threshold: 0.13 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.41402968764305115 AUROC: 0.7314922709719548 AUPRC: 0.3571164575718055 Sensitivity: 0.6678657074340527 Specificity: 0.6755868544600939 Threshold: 0.13 Accuracy: 0.6743227326266196 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.42537372027124676 AUROC: 0.6965312610385023 AUPRC: 0.32969899179798307 Sensitivity: 0.656140350877193 Specificity: 0.6516778523489933 Threshold: 0.11 Accuracy: 0.652394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.425010884553194 AUROC: 0.7304953220522173 AUPRC: 0.35526773785546617 Sensitivity: 0.6714628297362111 Specificity: 0.6645539906103286 Threshold: 0.11 Accuracy: 0.665685119748724 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.421525701880455 AUROC: 0.6965030024726245 AUPRC: 0.3314691820268454 Sensitivity: 0.6631578947368421 Specificity: 0.6429530201342282 Threshold: 0.12 Accuracy: 0.6461971830985915 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.42099730409681796 AUROC: 0.7306406987086387 AUPRC: 0.35625939239049587 Sensitivity: 0.6738609112709832 Specificity: 0.6593896713615024 Threshold: 0.12 Accuracy: 0.6617589320769532 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4131646454334259 AUROC: 0.6978005416225126 AUPRC: 0.33521064808297263 Sensitivity: 0.6385964912280702 Specificity: 0.6624161073825503 Threshold: 0.12 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.4119619868695736 AUROC: 0.7315682665135498 AUPRC: 0.35646764771629547 Sensitivity: 0.6642685851318945 Specificity: 0.6788732394366197 Threshold: 0.12 Accuracy: 0.6764821358460934 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.40774833943162647 AUROC: 0.6990980807724008 AUPRC: 0.33492334902461407 Sensitivity: 0.6385964912280702 Specificity: 0.6577181208053692 Threshold: 0.16 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.40557032376527785 AUROC: 0.7330715709122843 AUPRC: 0.35905154177688375 Sensitivity: 0.6750599520383693 Specificity: 0.6732394366197183 Threshold: 0.16 Accuracy: 0.6735374950922655 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4203046475137983 AUROC: 0.6985423289768043 AUPRC: 0.33595274727731256 Sensitivity: 0.6526315789473685 Specificity: 0.6570469798657718 Threshold: 0.11 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.41it/s]
Loss: 0.41768021434545516 AUROC: 0.7328804561984216 AUPRC: 0.359214154857897 Sensitivity: 0.6750599520383693 Specificity: 0.6715962441314554 Threshold: 0.11 Accuracy: 0.6721633294071456 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.41946479039532797 AUROC: 0.6979512539738609 AUPRC: 0.33388668323019133 Sensitivity: 0.6596491228070176 Specificity: 0.6463087248322148 Threshold: 0.11 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.4188382927328348 AUROC: 0.7320847547314262 AUPRC: 0.3566773843957623 Sensitivity: 0.684652278177458 Specificity: 0.6610328638497652 Threshold: 0.11 Accuracy: 0.6648998822143698 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4078337039266314 AUROC: 0.6991663723066054 AUPRC: 0.33873537427092254 Sensitivity: 0.6701754385964912 Specificity: 0.6355704697986577 Threshold: 0.18 Accuracy: 0.6411267605633802 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.40312894210219385 AUROC: 0.734373064928339 AUPRC: 0.3619017063662697 Sensitivity: 0.6594724220623501 Specificity: 0.6950704225352112 Threshold: 0.19 Accuracy: 0.6892422457793482 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4042027166911534 AUROC: 0.698676557164724 AUPRC: 0.3346305098103797 Sensitivity: 0.6456140350877193 Specificity: 0.6590604026845638 Threshold: 0.17 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.3987231221050024 AUROC: 0.7356955280845745 AUPRC: 0.36336433882703556 Sensitivity: 0.6834532374100719 Specificity: 0.672300469483568 Threshold: 0.17 Accuracy: 0.6741264232430311 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4054830457483019 AUROC: 0.6996844460143647 AUPRC: 0.3325445094959984 Sensitivity: 0.6596491228070176 Specificity: 0.6382550335570469 Threshold: 0.16 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4007171381264925 AUROC: 0.7359943031490301 AUPRC: 0.3622245572868 Sensitivity: 0.6918465227817746 Specificity: 0.6544600938967137 Threshold: 0.16 Accuracy: 0.660581075775422 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.40847090099539074 AUROC: 0.6991357588602378 AUPRC: 0.335157474579744 Sensitivity: 0.6350877192982456 Specificity: 0.6677852348993288 Threshold: 0.15 Accuracy: 0.6625352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4061265893280506 AUROC: 0.7337797367739611 AUPRC: 0.35996391341772627 Sensitivity: 0.6618705035971223 Specificity: 0.6884976525821597 Threshold: 0.15 Accuracy: 0.6841382018060463 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.41207410182271687 AUROC: 0.6989826916283999 AUPRC: 0.34114647702429346 Sensitivity: 0.656140350877193 Specificity: 0.6543624161073825 Threshold: 0.13 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.40870179496705533 AUROC: 0.7338964040035577 AUPRC: 0.36078305145435413 Sensitivity: 0.6810551558752997 Specificity: 0.6645539906103286 Threshold: 0.13 Accuracy: 0.6672555948174322 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4077272564172745 AUROC: 0.6986482985988461 AUPRC: 0.3319100943753302 Sensitivity: 0.6596491228070176 Specificity: 0.6382550335570469 Threshold: 0.16 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.4033641591668129 AUROC: 0.7333020907217888 AUPRC: 0.36103308203243906 Sensitivity: 0.6954436450839329 Specificity: 0.647887323943662 Threshold: 0.16 Accuracy: 0.6556733411857086 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.40710061362811495 AUROC: 0.6993347462616271 AUPRC: 0.3360191523069458 Sensitivity: 0.6526315789473685 Specificity: 0.6543624161073825 Threshold: 0.14 Accuracy: 0.6540845070422535 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.40327301286160944 AUROC: 0.7336653212641155 AUPRC: 0.36111558105127844 Sensitivity: 0.6726618705035972 Specificity: 0.6650234741784038 Threshold: 0.14 Accuracy: 0.6662740478994896 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4207336796181543 AUROC: 0.6973766631343459 AUPRC: 0.3353589260001225 Sensitivity: 0.6385964912280702 Specificity: 0.6624161073825503 Threshold: 0.11 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.41914464980363847 AUROC: 0.7313191700160999 AUPRC: 0.3575885140442906 Sensitivity: 0.6558752997601919 Specificity: 0.67981220657277 Threshold: 0.11 Accuracy: 0.6758932076953278 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.41698205045291353 AUROC: 0.7001200989049806 AUPRC: 0.3364433548917247 Sensitivity: 0.656140350877193 Specificity: 0.6469798657718121 Threshold: 0.12 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4117552597075701 AUROC: 0.7360223089134326 AUPRC: 0.36303483133588604 Sensitivity: 0.6870503597122302 Specificity: 0.6603286384976526 Threshold: 0.12 Accuracy: 0.6647035728307813 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4443376234599522 AUROC: 0.6950877192982456 AUPRC: 0.3215955693963937 Sensitivity: 0.6456140350877193 Specificity: 0.6496644295302013 Threshold: 0.09 Accuracy: 0.6490140845070422 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4431289654225111 AUROC: 0.7307000878170703 AUPRC: 0.3510574956994387 Sensitivity: 0.6606714628297362 Specificity: 0.67018779342723 Threshold: 0.09 Accuracy: 0.6686297605025521 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4113124545131411 AUROC: 0.7000141292829389 AUPRC: 0.33774932216561926 Sensitivity: 0.6491228070175439 Specificity: 0.6523489932885906 Threshold: 0.13 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4100466176867485 AUROC: 0.7336753132705104 AUPRC: 0.36061854427861756 Sensitivity: 0.6726618705035972 Specificity: 0.6626760563380282 Threshold: 0.13 Accuracy: 0.6643109540636042 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
Loss: 0.40619006540094105 AUROC: 0.6989497233015425 AUPRC: 0.3321914776538206 Sensitivity: 0.656140350877193 Specificity: 0.6463087248322148 Threshold: 0.16 Accuracy: 0.647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.40294694863259795 AUROC: 0.733790713907747 AUPRC: 0.3607853083872286 Sensitivity: 0.6822541966426858 Specificity: 0.6565727699530517 Threshold: 0.16 Accuracy: 0.6607773851590106 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.40742072463035583 AUROC: 0.7003155539856352 AUPRC: 0.33805437046345216 Sensitivity: 0.624561403508772 Specificity: 0.6731543624161074 Threshold: 0.14 Accuracy: 0.6653521126760563 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4048974823206663 AUROC: 0.7356737145494872 AUPRC: 0.36255970410958194 Sensitivity: 0.6666666666666666 Specificity: 0.6823943661971831 Threshold: 0.14 Accuracy: 0.6798193953670986 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4087270711149488 AUROC: 0.6998422230071824 AUPRC: 0.33541090729175327 Sensitivity: 0.6350877192982456 Specificity: 0.6624161073825503 Threshold: 0.14 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.54it/s]
Loss: 0.4024619199335575 AUROC: 0.7373354837256956 AUPRC: 0.36336600482904013 Sensitivity: 0.6714628297362111 Specificity: 0.673943661971831 Threshold: 0.14 Accuracy: 0.6735374950922655 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4153516931193216 AUROC: 0.6999929353585306 AUPRC: 0.3308121521512087 Sensitivity: 0.6526315789473685 Specificity: 0.6516778523489933 Threshold: 0.21 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.50it/s]
Loss: 0.40473668538033963 AUROC: 0.7386820121367694 AUPRC: 0.36212400501852005 Sensitivity: 0.6762589928057554 Specificity: 0.6626760563380282 Threshold: 0.21 Accuracy: 0.6648998822143698 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0045.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.40519979170390535 AUROC: 0.6995973154362417 AUPRC: 0.3316823412139992 Sensitivity: 0.6596491228070176 Specificity: 0.6449664429530201 Threshold: 0.16 Accuracy: 0.6473239436619719 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.3965837199240923 AUROC: 0.7379082649373458 AUPRC: 0.3637519246780964 Sensitivity: 0.6894484412470024 Specificity: 0.6575117370892019 Threshold: 0.16 Accuracy: 0.662740478994896 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0046.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4068810726915087 AUROC: 0.7002661014953491 AUPRC: 0.33957192441424755 Sensitivity: 0.6596491228070176 Specificity: 0.6382550335570469 Threshold: 0.13 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.40156786032021047 AUROC: 0.737202632260389 AUPRC: 0.3637451016342106 Sensitivity: 0.6930455635491607 Specificity: 0.6530516431924883 Threshold: 0.13 Accuracy: 0.6595995288574794 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0047.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.40928961655923296 AUROC: 0.6990203697162369 AUPRC: 0.33496191946622267 Sensitivity: 0.6280701754385964 Specificity: 0.6711409395973155 Threshold: 0.14 Accuracy: 0.6642253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4059934701770544 AUROC: 0.7340949775390955 AUPRC: 0.3612973382205154 Sensitivity: 0.6546762589928058 Specificity: 0.6903755868544601 Threshold: 0.14 Accuracy: 0.6845308205732235 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0048.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4194626041821071 AUROC: 0.6982102908277404 AUPRC: 0.34435434034869106 Sensitivity: 0.6385964912280702 Specificity: 0.6630872483221476 Threshold: 0.11 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.41688162125647066 AUROC: 0.7318874477882482 AUPRC: 0.35998453216058346 Sensitivity: 0.6558752997601919 Specificity: 0.676056338028169 Threshold: 0.11 Accuracy: 0.6727522575579112 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0049.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4089159050158092 AUROC: 0.6977864123395737 AUPRC: 0.33926741281778117 Sensitivity: 0.6385964912280702 Specificity: 0.6610738255033557 Threshold: 0.14 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.53it/s]
Loss: 0.40378342382609844 AUROC: 0.7323117562288198 AUPRC: 0.36250998524011013 Sensitivity: 0.6642685851318945 Specificity: 0.6774647887323944 Threshold: 0.14 Accuracy: 0.6753042795445622 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0050.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.40432944893836975 AUROC: 0.6997998351583656 AUPRC: 0.3283780953352788 Sensitivity: 0.6666666666666666 Specificity: 0.6389261744966444 Threshold: 0.15 Accuracy: 0.6433802816901408 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.3989260416477919 AUROC: 0.7373938877067361 AUPRC: 0.3594636032434076 Sensitivity: 0.6954436450839329 Specificity: 0.6532863849765258 Threshold: 0.15 Accuracy: 0.660188457008245 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0051.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4118511357477733 AUROC: 0.6997762863534676 AUPRC: 0.3294483624758691 Sensitivity: 0.656140350877193 Specificity: 0.6550335570469799 Threshold: 0.2 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.50it/s]
Loss: 0.39924327917397023 AUROC: 0.7376146969748145 AUPRC: 0.3626880314505065 Sensitivity: 0.6750599520383693 Specificity: 0.6661971830985915 Threshold: 0.2 Accuracy: 0.6676482135846094 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0052.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.41590150339262827 AUROC: 0.6981584834569645 AUPRC: 0.33396082914554515 Sensitivity: 0.6631578947368421 Specificity: 0.6409395973154363 Threshold: 0.13 Accuracy: 0.6445070422535212 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4159349612891674 AUROC: 0.7316362403035318 AUPRC: 0.35586384302818674 Sensitivity: 0.6786570743405276 Specificity: 0.6568075117370892 Threshold: 0.13 Accuracy: 0.6603847663918335 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0053.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4133226935352598 AUROC: 0.6969833980925467 AUPRC: 0.3330416236718635 Sensitivity: 0.6350877192982456 Specificity: 0.6570469798657718 Threshold: 0.13 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4098300486803055 AUROC: 0.7307898751421398 AUPRC: 0.3580598984074141 Sensitivity: 0.6522781774580336 Specificity: 0.6758215962441314 Threshold: 0.13 Accuracy: 0.6719670200235571 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0054.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.41173229685851503 AUROC: 0.6970257859413634 AUPRC: 0.3288982588942141 Sensitivity: 0.6736842105263158 Specificity: 0.6315436241610738 Threshold: 0.14 Accuracy: 0.6383098591549295 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4112096171826124 AUROC: 0.7328776415487328 AUPRC: 0.35927174868673106 Sensitivity: 0.6882494004796164 Specificity: 0.65 Threshold: 0.14 Accuracy: 0.6562622693364742 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0055.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4094295395272119 AUROC: 0.6998163193217946 AUPRC: 0.3324254378802177 Sensitivity: 0.6491228070175439 Specificity: 0.6610738255033557 Threshold: 0.12 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.40482803210616114 AUROC: 0.7364899629592101 AUPRC: 0.36284433615882383 Sensitivity: 0.6774580335731415 Specificity: 0.6779342723004694 Threshold: 0.12 Accuracy: 0.6778563015312132 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0056.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.41223178591047016 AUROC: 0.6970093017779347 AUPRC: 0.33874663011853406 Sensitivity: 0.6701754385964912 Specificity: 0.6389261744966444 Threshold: 0.13 Accuracy: 0.643943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.40894097536802293 AUROC: 0.7306523795048467 AUPRC: 0.3584126923238208 Sensitivity: 0.6810551558752997 Specificity: 0.653755868544601 Threshold: 0.13 Accuracy: 0.6582253631723597 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0057.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.4804680986063821 AUROC: 0.6990392087601555 AUPRC: 0.3164840686825771 Sensitivity: 0.6491228070175439 Specificity: 0.640268456375839 Threshold: 0.34 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4649060472846031 AUROC: 0.7351938167775638 AUPRC: 0.3511038143209807 Sensitivity: 0.6666666666666666 Specificity: 0.672300469483568 Threshold: 0.35000000000000003 Accuracy: 0.6713780918727915 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0058.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4073271857840674 AUROC: 0.6997009301777934 AUPRC: 0.3276570004947704 Sensitivity: 0.6596491228070176 Specificity: 0.6496644295302013 Threshold: 0.15 Accuracy: 0.6512676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4024418376386166 AUROC: 0.7375707884396708 AUPRC: 0.3621107385166514 Sensitivity: 0.6810551558752997 Specificity: 0.6652582159624413 Threshold: 0.15 Accuracy: 0.6678445229681979 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0059.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.408754757472447 AUROC: 0.6993806664311788 AUPRC: 0.3365317940190596 Sensitivity: 0.6596491228070176 Specificity: 0.6449664429530201 Threshold: 0.14 Accuracy: 0.6473239436619719 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4065094985067844 AUROC: 0.7347896330822666 AUPRC: 0.3621746492014909 Sensitivity: 0.6906474820143885 Specificity: 0.6561032863849765 Threshold: 0.14 Accuracy: 0.6617589320769532 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0060.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4246619535343988 AUROC: 0.6934322383139055 AUPRC: 0.32491418305787356 Sensitivity: 0.6140350877192983 Specificity: 0.6718120805369128 Threshold: 0.13 Accuracy: 0.6625352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.42234727926552296 AUROC: 0.7282732968554734 AUPRC: 0.34986528525437244 Sensitivity: 0.6282973621103117 Specificity: 0.6946009389671362 Threshold: 0.13 Accuracy: 0.6837455830388692 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0061.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4042980968952179 AUROC: 0.6994701518897917 AUPRC: 0.34177224738104695 Sensitivity: 0.6596491228070176 Specificity: 0.640268456375839 Threshold: 0.15 Accuracy: 0.6433802816901408 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.3991754923015833 AUROC: 0.7358804505691221 AUPRC: 0.3640163673141585 Sensitivity: 0.6522781774580336 Specificity: 0.6997652582159625 Threshold: 0.16 Accuracy: 0.6919905771495878 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0062.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.42953935478414806 AUROC: 0.6956976333451077 AUPRC: 0.31477531769691675 Sensitivity: 0.6385964912280702 Specificity: 0.6543624161073825 Threshold: 0.12 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.42771981135010717 AUROC: 0.7315454678510713 AUPRC: 0.35228182078826087 Sensitivity: 0.6666666666666666 Specificity: 0.6708920187793427 Threshold: 0.12 Accuracy: 0.6702002355712603 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0063.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4182666518858501 AUROC: 0.6982361945131286 AUPRC: 0.33050411514064837 Sensitivity: 0.656140350877193 Specificity: 0.6315436241610738 Threshold: 0.11 Accuracy: 0.6354929577464788 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.41411297358572485 AUROC: 0.7332404498936063 AUPRC: 0.3618422342597088 Sensitivity: 0.6870503597122302 Specificity: 0.647887323943662 Threshold: 0.11 Accuracy: 0.6542991755005889 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0064.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.4056923048836844 AUROC: 0.699809254680325 AUPRC: 0.33276811385808497 Sensitivity: 0.6596491228070176 Specificity: 0.6335570469798658 Threshold: 0.13 Accuracy: 0.6377464788732394 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.40107423104345796 AUROC: 0.7379479514979566 AUPRC: 0.3636082677930122 Sensitivity: 0.6990407673860911 Specificity: 0.6453051643192488 Threshold: 0.13 Accuracy: 0.6541028661170004 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0065.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.41981303691864014 AUROC: 0.7000117744024492 AUPRC: 0.3319744160269598 Sensitivity: 0.6526315789473685 Specificity: 0.6550335570469799 Threshold: 0.23 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.4101784750819206 AUROC: 0.7375958388219002 AUPRC: 0.36261497163015466 Sensitivity: 0.6714628297362111 Specificity: 0.67018779342723 Threshold: 0.23 Accuracy: 0.6703965449548488 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0066.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.41417997223990305 AUROC: 0.6988884964088073 AUPRC: 0.32066046686082245 Sensitivity: 0.6491228070175439 Specificity: 0.6503355704697986 Threshold: 0.2 Accuracy: 0.6501408450704226 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4033064141869545 AUROC: 0.7377809020389323 AUPRC: 0.35883158405130794 Sensitivity: 0.6738609112709832 Specificity: 0.6636150234741784 Threshold: 0.2 Accuracy: 0.6652925009815469 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0067.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.43001493385859896 AUROC: 0.6952808194984104 AUPRC: 0.3254424973239784 Sensitivity: 0.6631578947368421 Specificity: 0.6422818791946309 Threshold: 0.11 Accuracy: 0.6456338028169014 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4273921176791191 AUROC: 0.7289545828126232 AUPRC: 0.35218485616727646 Sensitivity: 0.6726618705035972 Specificity: 0.6600938967136151 Threshold: 0.11 Accuracy: 0.6621515508441304 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0068.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.4071413299867085 AUROC: 0.6999905804780409 AUPRC: 0.3246437376217484 Sensitivity: 0.6491228070175439 Specificity: 0.6644295302013423 Threshold: 0.17 Accuracy: 0.6619718309859155 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.39476137682795526 AUROC: 0.738689611690929 AUPRC: 0.36127186806640554 Sensitivity: 0.6642685851318945 Specificity: 0.6755868544600939 Threshold: 0.17 Accuracy: 0.673733804475854 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0069.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.4073622652462551 AUROC: 0.6996773813728953 AUPRC: 0.33354557669672086 Sensitivity: 0.6631578947368421 Specificity: 0.6416107382550336 Threshold: 0.16 Accuracy: 0.6450704225352113 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.3941403366625309 AUROC: 0.7381173934092163 AUPRC: 0.36428662143502955 Sensitivity: 0.658273381294964 Specificity: 0.6873239436619718 Threshold: 0.17 Accuracy: 0.682567726737338 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0070.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4075137845107487 AUROC: 0.6979065112445544 AUPRC: 0.33102131109319005 Sensitivity: 0.656140350877193 Specificity: 0.640268456375839 Threshold: 0.15 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.40598915666341784 AUROC: 0.7335492169644565 AUPRC: 0.3621094047145884 Sensitivity: 0.6810551558752997 Specificity: 0.6586854460093897 Threshold: 0.15 Accuracy: 0.6623478602277189 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0071.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4202709836619241 AUROC: 0.6957753444012715 AUPRC: 0.3398828597812512 Sensitivity: 0.6701754385964912 Specificity: 0.62751677852349 Threshold: 0.12 Accuracy: 0.6343661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.4179737973958254 AUROC: 0.7292322480044133 AUPRC: 0.3553216903662552 Sensitivity: 0.6894484412470024 Specificity: 0.6469483568075117 Threshold: 0.12 Accuracy: 0.6539065567334118 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0072.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.4160864119018827 AUROC: 0.6950029436006123 AUPRC: 0.32807135250485964 Sensitivity: 0.6350877192982456 Specificity: 0.6590604026845638 Threshold: 0.14 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.4143777124583721 AUROC: 0.7283473221422863 AUPRC: 0.3502507727076748 Sensitivity: 0.6462829736211031 Specificity: 0.6793427230046948 Threshold: 0.14 Accuracy: 0.6739301138594425 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0073.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4102193777050291 AUROC: 0.6964088072530319 AUPRC: 0.326836218131267 Sensitivity: 0.6596491228070176 Specificity: 0.6442953020134228 Threshold: 0.15 Accuracy: 0.6467605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.4093773301690817 AUROC: 0.7319609101451232 AUPRC: 0.3587882358532922 Sensitivity: 0.6726618705035972 Specificity: 0.6591549295774648 Threshold: 0.15 Accuracy: 0.6613663133097762 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0074.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.4077610267060144 AUROC: 0.7004003296832686 AUPRC: 0.33674333043059784 Sensitivity: 0.6596491228070176 Specificity: 0.6449664429530201 Threshold: 0.12 Accuracy: 0.6473239436619719 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4025578606873751 AUROC: 0.7354788000585446 AUPRC: 0.3636588696495364 Sensitivity: 0.6798561151079137 Specificity: 0.6615023474178404 Threshold: 0.12 Accuracy: 0.6645072634471928 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0075.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4040251097508839 AUROC: 0.6996090898386907 AUPRC: 0.33350793854407285 Sensitivity: 0.6350877192982456 Specificity: 0.6691275167785234 Threshold: 0.14 Accuracy: 0.663661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.4017699170857668 AUROC: 0.7350525213631911 AUPRC: 0.36291489427329615 Sensitivity: 0.6534772182254197 Specificity: 0.6929577464788732 Threshold: 0.14 Accuracy: 0.6864939144091088 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0076.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.41884476797921316 AUROC: 0.6952643353349819 AUPRC: 0.32447535480556833 Sensitivity: 0.6140350877192983 Specificity: 0.6684563758389261 Threshold: 0.14 Accuracy: 0.6597183098591549 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.41939511671662333 AUROC: 0.7281766136386665 AUPRC: 0.3480265417871612 Sensitivity: 0.6342925659472423 Specificity: 0.6870892018779343 Threshold: 0.14 Accuracy: 0.6784452296819788 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0077.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.41324119695595335 AUROC: 0.6963522901212764 AUPRC: 0.33460112963430455 Sensitivity: 0.6526315789473685 Specificity: 0.6523489932885906 Threshold: 0.14 Accuracy: 0.652394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.41354899741709233 AUROC: 0.7299197261908784 AUPRC: 0.3540952000533601 Sensitivity: 0.6606714628297362 Specificity: 0.6687793427230047 Threshold: 0.14 Accuracy: 0.6674519042010209 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0078.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.40729445219039917 AUROC: 0.6986412339573767 AUPRC: 0.3348669536215937 Sensitivity: 0.6631578947368421 Specificity: 0.640268456375839 Threshold: 0.13 Accuracy: 0.643943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.40397739931941035 AUROC: 0.7337977505319687 AUPRC: 0.3628505034937128 Sensitivity: 0.6882494004796164 Specificity: 0.6514084507042254 Threshold: 0.13 Accuracy: 0.6574401256380055 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0079.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.42343235441616606 AUROC: 0.696319321794419 AUPRC: 0.32672410734018553 Sensitivity: 0.6350877192982456 Specificity: 0.6550335570469799 Threshold: 0.12 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.50it/s]
Loss: 0.41917090564966203 AUROC: 0.7309774715438917 AUPRC: 0.35786831526635066 Sensitivity: 0.6690647482014388 Specificity: 0.6706572769953052 Threshold: 0.12 Accuracy: 0.6703965449548488 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0080.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.421540447643825 AUROC: 0.6961403508771932 AUPRC: 0.3327812053014627 Sensitivity: 0.6631578947368421 Specificity: 0.6395973154362417 Threshold: 0.12 Accuracy: 0.6433802816901408 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4247601695358753 AUROC: 0.7302259600770088 AUPRC: 0.35373348905234575 Sensitivity: 0.670263788968825 Specificity: 0.6598591549295775 Threshold: 0.12 Accuracy: 0.6615626226933647 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0081.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.409187267933573 AUROC: 0.6999764511951019 AUPRC: 0.335732358236874 Sensitivity: 0.6526315789473685 Specificity: 0.6382550335570469 Threshold: 0.14 Accuracy: 0.6405633802816901 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.408427731692791 AUROC: 0.7356027853773319 AUPRC: 0.36245170941359334 Sensitivity: 0.6894484412470024 Specificity: 0.6471830985915493 Threshold: 0.14 Accuracy: 0.6541028661170004 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0082.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4246841860669 AUROC: 0.6997268338631815 AUPRC: 0.32555176875129166 Sensitivity: 0.6526315789473685 Specificity: 0.6409395973154363 Threshold: 0.24 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.41320414617657664 AUROC: 0.737251184967519 AUPRC: 0.35998824879184926 Sensitivity: 0.6642685851318945 Specificity: 0.6746478873239437 Threshold: 0.25 Accuracy: 0.6729485669414998 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0083.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.40579281960214886 AUROC: 0.6967738137289532 AUPRC: 0.32879248734099 Sensitivity: 0.6701754385964912 Specificity: 0.6201342281879194 Threshold: 0.15 Accuracy: 0.6281690140845071 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4013967253267765 AUROC: 0.7335579423784915 AUPRC: 0.3640282400352567 Sensitivity: 0.7074340527577938 Specificity: 0.637793427230047 Threshold: 0.15 Accuracy: 0.649195131527287 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0084.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.4088307533945356 AUROC: 0.6971364653243848 AUPRC: 0.3306769622510769 Sensitivity: 0.6210526315789474 Specificity: 0.6684563758389261 Threshold: 0.13 Accuracy: 0.6608450704225353 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.4077195145189762 AUROC: 0.733956637506896 AUPRC: 0.3616682678103364 Sensitivity: 0.658273381294964 Specificity: 0.6906103286384977 Threshold: 0.13 Accuracy: 0.6853160581075776 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0085.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4174207406384604 AUROC: 0.6965430354409514 AUPRC: 0.32984941185926187 Sensitivity: 0.6666666666666666 Specificity: 0.6416107382550336 Threshold: 0.14 Accuracy: 0.6456338028169014 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4187918893992901 AUROC: 0.7306611049188818 AUPRC: 0.35441138339470923 Sensitivity: 0.6786570743405276 Specificity: 0.6586854460093897 Threshold: 0.14 Accuracy: 0.6619552414605419 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0086.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.4182431080511638 AUROC: 0.6956670198987401 AUPRC: 0.32913505232873613 Sensitivity: 0.6807017543859649 Specificity: 0.6033557046979866 Threshold: 0.18 Accuracy: 0.615774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.50it/s]
Loss: 0.41946993172168734 AUROC: 0.7295960414766778 AUPRC: 0.3546394496149661 Sensitivity: 0.7206235011990407 Specificity: 0.6267605633802817 Threshold: 0.18 Accuracy: 0.6421279937180997 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0087.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.4047556604657854 AUROC: 0.6975933121394089 AUPRC: 0.3294370692283982 Sensitivity: 0.6526315789473685 Specificity: 0.6422818791946309 Threshold: 0.16 Accuracy: 0.643943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.39917291030287744 AUROC: 0.7361648709201654 AUPRC: 0.3630178390313663 Sensitivity: 0.684652278177458 Specificity: 0.6612676056338028 Threshold: 0.16 Accuracy: 0.6650961915979584 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0088.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4405638873577118 AUROC: 0.6975085364417756 AUPRC: 0.3322637669405357 Sensitivity: 0.631578947368421 Specificity: 0.6570469798657718 Threshold: 0.1 Accuracy: 0.6529577464788733 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.4387495335191488 AUROC: 0.7314545546661263 AUPRC: 0.3599348289216725 Sensitivity: 0.657074340527578 Specificity: 0.6807511737089202 Threshold: 0.1 Accuracy: 0.6768747546132705 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0089.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.4041570850781032 AUROC: 0.6995101848581186 AUPRC: 0.3334128072358269 Sensitivity: 0.6526315789473685 Specificity: 0.6510067114093959 Threshold: 0.16 Accuracy: 0.6512676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.39589923098683355 AUROC: 0.7362856193918105 AUPRC: 0.36432928005620197 Sensitivity: 0.6798561151079137 Specificity: 0.6664319248826291 Threshold: 0.16 Accuracy: 0.6686297605025521 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0090.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.4157809955733163 AUROC: 0.6967573295655244 AUPRC: 0.32972290473110427 Sensitivity: 0.6421052631578947 Specificity: 0.6597315436241611 Threshold: 0.13 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.41161171421408654 AUROC: 0.7324334898278559 AUPRC: 0.3623451135788554 Sensitivity: 0.6690647482014388 Specificity: 0.676056338028169 Threshold: 0.13 Accuracy: 0.6749116607773852 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0091.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.41989523810999735 AUROC: 0.696752619804545 AUPRC: 0.32645669613693323 Sensitivity: 0.6456140350877193 Specificity: 0.6456375838926175 Threshold: 0.13 Accuracy: 0.6456338028169014 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.4181992385536432 AUROC: 0.7308957059704349 AUPRC: 0.35561422548863364 Sensitivity: 0.6750599520383693 Specificity: 0.6633802816901408 Threshold: 0.13 Accuracy: 0.6652925009815469 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0092.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.41024225524493624 AUROC: 0.6962745790651125 AUPRC: 0.3277275778093335 Sensitivity: 0.624561403508772 Specificity: 0.663758389261745 Threshold: 0.15 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.41it/s]
Loss: 0.4088581122457981 AUROC: 0.7345485583364294 AUPRC: 0.3611317621876355 Sensitivity: 0.657074340527578 Specificity: 0.6873239436619718 Threshold: 0.15 Accuracy: 0.6823714173537495 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0093.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.4165907140289034 AUROC: 0.6953797244789827 AUPRC: 0.3271816949583273 Sensitivity: 0.6736842105263158 Specificity: 0.6261744966442953 Threshold: 0.12 Accuracy: 0.6338028169014085 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.50it/s]
Loss: 0.41538911275565626 AUROC: 0.7314027651118542 AUPRC: 0.3586184768887596 Sensitivity: 0.697841726618705 Specificity: 0.6424882629107981 Threshold: 0.12 Accuracy: 0.6515508441303495 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0094.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.418872988649777 AUROC: 0.6957894736842105 AUPRC: 0.3285497222160817 Sensitivity: 0.6701754385964912 Specificity: 0.6201342281879194 Threshold: 0.13 Accuracy: 0.6281690140845071 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.4189464382827282 AUROC: 0.7301679782934216 AUPRC: 0.3544654773122453 Sensitivity: 0.7026378896882494 Specificity: 0.639906103286385 Threshold: 0.13 Accuracy: 0.6501766784452296 Intermediate Model: ./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0095.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.42974095046520233 AUROC: 0.6960037678087837 AUPRC: 0.32219255284848225 Sensitivity: 0.6631578947368421 Specificity: 0.6456375838926175 Threshold: 0.12 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.43173202984035014 AUROC: 0.7318073710046047 AUPRC: 0.35354890786572407 Sensitivity: 0.6738609112709832 Specificity: 0.6626760563380282 Threshold: 0.12 Accuracy: 0.6645072634471928 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 75, 0.4034 Epoch with best model Test AUROC: 68, 0.7387 Epoch with best model Test Accuracy: 11, 0.6979
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 75, 0.4034
Best Model Based on Validation Loss:
./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0075.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4017699170857668 AUROC: 0.7350525213631911 AUPRC: 0.36291489427329615 Sensitivity: 0.6534772182254197 Specificity: 0.6929577464788732 Threshold: 0.14 Accuracy: 0.6864939144091088
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.7350525213631911
best_model_val_test_auprc: 0.36291489427329615
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 68, 0.7387
Best Model Based on Model AUROC:
./vitaldb_cache/models/ABP_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_61321b51_0068.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.39476137682795526 AUROC: 0.738689611690929 AUPRC: 0.36127186806640554 Sensitivity: 0.6642685851318945 Specificity: 0.6755868544600939 Threshold: 0.17 Accuracy: 0.673733804475854
best_model_auroc_test_auroc: 0.738689611690929
best_model_auroc_test_auprc: 0.36127186806640554 Total Processing Time: 6501.7400 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=False,
useEeg=False,
useEcg=True,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1
prediction_window: 015
max_cases: _ALL
use_abp: False
use_eeg: False
use_ecg: True
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(ecgResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(ecgFc): Linear(in_features=2814, out_features=32, bias=True)
(fullLinear1): Linear(in_features=32, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.97it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
[2024-05-04 11:18:24.841771] Completed epoch 0 with training loss 0.51032150, validation loss 0.51421815 Validation loss improved to 0.51421815. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:19:10.956080] Completed epoch 1 with training loss 0.44944572, validation loss 0.45066428 Validation loss improved to 0.45066428. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.96it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 11:19:57.491513] Completed epoch 2 with training loss 0.44131058, validation loss 0.45395562 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 11:20:43.571979] Completed epoch 3 with training loss 0.44278201, validation loss 0.45973280 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.96it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
[2024-05-04 11:21:30.150836] Completed epoch 4 with training loss 0.44153357, validation loss 0.45917776 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 11:22:16.276232] Completed epoch 5 with training loss 0.44082674, validation loss 0.46886459 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:23:02.392120] Completed epoch 6 with training loss 0.44224119, validation loss 0.46357638 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:23:48.567548] Completed epoch 7 with training loss 0.44110280, validation loss 0.46600774 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 11:24:34.737858] Completed epoch 8 with training loss 0.44217172, validation loss 0.47331589 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.99it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
[2024-05-04 11:25:20.638890] Completed epoch 9 with training loss 0.44151354, validation loss 0.47412685 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
[2024-05-04 11:26:06.859949] Completed epoch 10 with training loss 0.44133219, validation loss 0.47292089 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 11:26:53.040302] Completed epoch 11 with training loss 0.44007325, validation loss 0.48198318 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.99it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 11:27:38.825511] Completed epoch 12 with training loss 0.44047707, validation loss 0.49962664 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:28:25.072011] Completed epoch 13 with training loss 0.44033232, validation loss 0.50812960 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
[2024-05-04 11:29:11.036174] Completed epoch 14 with training loss 0.44078246, validation loss 0.52645999 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:29:57.117276] Completed epoch 15 with training loss 0.43974686, validation loss 0.54129100 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.99it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:30:43.113741] Completed epoch 16 with training loss 0.43917704, validation loss 0.54766119 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.93it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
[2024-05-04 11:31:30.296133] Completed epoch 17 with training loss 0.43691984, validation loss 0.58838594 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 11:32:16.447384] Completed epoch 18 with training loss 0.43636021, validation loss 0.60703462 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.99it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.51it/s]
[2024-05-04 11:33:02.333172] Completed epoch 19 with training loss 0.43454409, validation loss 0.61463350 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.97it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 11:33:48.654343] Completed epoch 20 with training loss 0.43446332, validation loss 0.64885241 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:40<00:00, 1.98it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
[2024-05-04 11:34:34.701887] Completed epoch 21 with training loss 0.43300739, validation loss 0.62912124 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 1, 0.4507
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:04<00:00, 2.90it/s]
Loss: 0.5147509021418435 AUROC: 0.5150182503237961 AUPRC: 0.17327776537754772 Sensitivity: 0.5157894736842106 Specificity: 0.48322147651006714 Threshold: 0.33 Accuracy: 0.48845070422535214 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.5166056379675865 AUROC: 0.4961591290348003 AUPRC: 0.1644256586829966 Sensitivity: 0.4844124700239808 Specificity: 0.5070422535211268 Threshold: 0.33 Accuracy: 0.503337259521005 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.4506526951278959 AUROC: 0.5230519251148005 AUPRC: 0.1855061355653631 Sensitivity: 0.43157894736842106 Specificity: 0.5959731543624162 Threshold: 0.22 Accuracy: 0.5695774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.45552014783024786 AUROC: 0.49583839970277305 AUPRC: 0.16850943851242872 Sensitivity: 0.39448441247002397 Specificity: 0.6157276995305164 Threshold: 0.22 Accuracy: 0.5795053003533569 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.45438295177050997 AUROC: 0.5109596137995996 AUPRC: 0.17544351869966968 Sensitivity: 0.06315789473684211 Specificity: 0.959731543624161 Threshold: 0.23 Accuracy: 0.8157746478873239 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4579848572611809 AUROC: 0.5000185766879454 AUPRC: 0.16778712950705382 Sensitivity: 0.03477218225419664 Specificity: 0.9725352112676057 Threshold: 0.23 Accuracy: 0.8190027483313702 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4605179450341633 AUROC: 0.49841281054986464 AUPRC: 0.16767901052461515 Sensitivity: 0.6736842105263158 Specificity: 0.32483221476510066 Threshold: 0.24 Accuracy: 0.38084507042253524 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.50it/s]
Loss: 0.46367635354399683 AUROC: 0.5027573715675346 AUPRC: 0.16541361355928969 Sensitivity: 0.7026378896882494 Specificity: 0.3049295774647887 Threshold: 0.24 Accuracy: 0.37004318806438946 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4589798386607851 AUROC: 0.487235370304957 AUPRC: 0.16052359074794142 Sensitivity: 0.23157894736842105 Specificity: 0.7355704697986577 Threshold: 0.24 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4627133093774319 AUROC: 0.5067519224057374 AUPRC: 0.16751274111970316 Sensitivity: 0.23621103117505995 Specificity: 0.7678403755868545 Threshold: 0.24 Accuracy: 0.6808009422850412 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.4690441531794412 AUROC: 0.47945837748734244 AUPRC: 0.15540309524734464 Sensitivity: 0.4666666666666667 Specificity: 0.5067114093959731 Threshold: 0.26 Accuracy: 0.5002816901408451 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.50it/s]
Loss: 0.4723043471574783 AUROC: 0.5089069589398904 AUPRC: 0.1676362905069843 Sensitivity: 0.5011990407673861 Specificity: 0.5091549295774648 Threshold: 0.26 Accuracy: 0.5078523753435414 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.46357801982334684 AUROC: 0.4837160014129283 AUPRC: 0.1606564872709776 Sensitivity: 0.3263157894736842 Specificity: 0.6442953020134228 Threshold: 0.25 Accuracy: 0.5932394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4673511616885662 AUROC: 0.5070528084574594 AUPRC: 0.1662776462727409 Sensitivity: 0.3645083932853717 Specificity: 0.6415492957746479 Threshold: 0.25 Accuracy: 0.5961915979583824 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4662888092654092 AUROC: 0.48027434357706345 AUPRC: 0.15610854558834444 Sensitivity: 0.9929824561403509 Specificity: 0.0174496644295302 Threshold: 0.25 Accuracy: 0.17408450704225353 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.46937362998723986 AUROC: 0.5075975839047072 AUPRC: 0.17023581687652634 Sensitivity: 0.9844124700239808 Specificity: 0.01807511737089202 Threshold: 0.25 Accuracy: 0.1762858264625049 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4734108511890684 AUROC: 0.4731119745672907 AUPRC: 0.15194401229843937 Sensitivity: 0.10877192982456141 Specificity: 0.8986577181208054 Threshold: 0.27 Accuracy: 0.7718309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.4767419248819351 AUROC: 0.4980815347721822 AUPRC: 0.16446135686800736 Sensitivity: 0.07913669064748201 Specificity: 0.9086854460093897 Threshold: 0.27 Accuracy: 0.7728700431880644 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.47421341495854513 AUROC: 0.47332744613210875 AUPRC: 0.14994003623481064 Sensitivity: 0.49122807017543857 Specificity: 0.4463087248322148 Threshold: 0.27 Accuracy: 0.4535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.52it/s]
Loss: 0.4775531440973282 AUROC: 0.49048043255536417 AUPRC: 0.1586809093026939 Sensitivity: 0.5323741007194245 Specificity: 0.45704225352112676 Threshold: 0.27 Accuracy: 0.46937573616018846 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.4733578222138541 AUROC: 0.48616389968209117 AUPRC: 0.1550859948495409 Sensitivity: 0.24561403508771928 Specificity: 0.738255033557047 Threshold: 0.27 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.47656386643648146 AUROC: 0.492043688992468 AUPRC: 0.16013041880417636 Sensitivity: 0.24580335731414868 Specificity: 0.7467136150234742 Threshold: 0.27 Accuracy: 0.6647035728307813 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4824556601899011 AUROC: 0.5126409984693276 AUPRC: 0.16266290908983866 Sensitivity: 0.9052631578947369 Specificity: 0.13557046979865772 Threshold: 0.28 Accuracy: 0.2591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4854844272136688 AUROC: 0.49966139764244943 AUPRC: 0.16268459154004952 Sensitivity: 0.8752997601918465 Specificity: 0.12769953051643193 Threshold: 0.28 Accuracy: 0.25009815469179425 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.49976785268102375 AUROC: 0.5193630048275051 AUPRC: 0.16516915193971737 Sensitivity: 0.6035087719298246 Specificity: 0.42348993288590603 Threshold: 0.31 Accuracy: 0.4523943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.5026642046868801 AUROC: 0.49797457808401163 AUPRC: 0.16463840812145647 Sensitivity: 0.5671462829736211 Specificity: 0.4392018779342723 Threshold: 0.31 Accuracy: 0.4601491951315273 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.5074829799788338 AUROC: 0.5416448840221358 AUPRC: 0.1730893662228909 Sensitivity: 0.6807017543859649 Specificity: 0.40671140939597317 Threshold: 0.32 Accuracy: 0.4507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.510493491590023 AUROC: 0.4961670100539287 AUPRC: 0.16358455784785172 Sensitivity: 0.6019184652278178 Specificity: 0.4025821596244131 Threshold: 0.32 Accuracy: 0.43521790341578326 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.5265220488820758 AUROC: 0.5443918521135053 AUPRC: 0.17190937212463953 Sensitivity: 0.312280701754386 Specificity: 0.7335570469798658 Threshold: 0.35000000000000003 Accuracy: 0.6659154929577464 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.5290775246918201 AUROC: 0.4962969061370622 AUPRC: 0.1679543171305585 Sensitivity: 0.2541966426858513 Specificity: 0.754225352112676 Threshold: 0.35000000000000003 Accuracy: 0.6723596387907342 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.5412276046616691 AUROC: 0.5431190392087601 AUPRC: 0.1713369812580113 Sensitivity: 0.8526315789473684 Specificity: 0.21073825503355706 Threshold: 0.36 Accuracy: 0.31380281690140843 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.5436627447605134 AUROC: 0.4978566442620551 AUPRC: 0.166334803406953 Sensitivity: 0.7781774580335732 Specificity: 0.19788732394366196 Threshold: 0.36 Accuracy: 0.292893600314095 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.5475495627948216 AUROC: 0.5508006593665371 AUPRC: 0.17921925985445106 Sensitivity: 0.6491228070175439 Specificity: 0.41879194630872485 Threshold: 0.37 Accuracy: 0.45577464788732397 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.49it/s]
Loss: 0.5499849572777749 AUROC: 0.5074201202418347 AUPRC: 0.1756314285303629 Sensitivity: 0.6031175059952039 Specificity: 0.41619718309859155 Threshold: 0.37 Accuracy: 0.44680015704750686 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.50it/s]
Loss: 0.5882890735353742 AUROC: 0.5316743200282585 AUPRC: 0.178041869631208 Sensitivity: 0.9087719298245615 Specificity: 0.11812080536912752 Threshold: 0.41000000000000003 Accuracy: 0.24507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.5896923124790192 AUROC: 0.5147144256425845 AUPRC: 0.17073243672074426 Sensitivity: 0.8932853717026379 Specificity: 0.10868544600938967 Threshold: 0.41000000000000003 Accuracy: 0.23714173537495092 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.6068638435431889 AUROC: 0.5260967855881313 AUPRC: 0.1688587474249689 Sensitivity: 0.6385964912280702 Specificity: 0.37986577181208053 Threshold: 0.43 Accuracy: 0.42140845070422533 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.6081050962209702 AUROC: 0.516346781729546 AUPRC: 0.17021143565501282 Sensitivity: 0.6618705035971223 Specificity: 0.3805164319248826 Threshold: 0.43 Accuracy: 0.4265802905378877 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.6145940933908735 AUROC: 0.5288531732014601 AUPRC: 0.17397750960405572 Sensitivity: 1.0 Specificity: 0.00738255033557047 Threshold: 0.43 Accuracy: 0.1667605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.6155351504683495 AUROC: 0.521038662028124 AUPRC: 0.16984791272623095 Sensitivity: 0.9964028776978417 Specificity: 0.00727699530516432 Threshold: 0.43 Accuracy: 0.16921868865331763 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.6488627748829978 AUROC: 0.5158707170611092 AUPRC: 0.16626756043530744 Sensitivity: 0.9894736842105263 Specificity: 0.010738255033557046 Threshold: 0.46 Accuracy: 0.16788732394366196 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.6493333041667938 AUROC: 0.5357091791355648 AUPRC: 0.1724748826923705 Sensitivity: 0.9832134292565947 Specificity: 0.013849765258215962 Threshold: 0.46 Accuracy: 0.17255594817432274 Intermediate Model: ./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.6290683746337891 AUROC: 0.5191934534322383 AUPRC: 0.16473598532195366 Sensitivity: 0.512280701754386 Specificity: 0.508724832214765 Threshold: 0.45 Accuracy: 0.5092957746478873 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.6297683119773865 AUROC: 0.5411026108690512 AUPRC: 0.17289634962718992 Sensitivity: 0.5515587529976019 Specificity: 0.5178403755868545 Threshold: 0.45 Accuracy: 0.5233608166470357 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 1, 0.4507 Epoch with best model Test AUROC: 21, 0.5411 Epoch with best model Test Accuracy: 2, 0.819
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 1, 0.4507
Best Model Based on Validation Loss:
./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0001.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.45552014783024786 AUROC: 0.49583839970277305 AUPRC: 0.16850943851242872 Sensitivity: 0.39448441247002397 Specificity: 0.6157276995305164 Threshold: 0.22 Accuracy: 0.5795053003533569
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.49583839970277305
best_model_val_test_auprc: 0.16850943851242872
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 21, 0.5411
Best Model Based on Model AUROC:
./vitaldb_cache/models/ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_3ac4acf1_0021.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.47it/s]
Loss: 0.6297683119773865 AUROC: 0.5411026108690512 AUPRC: 0.17289634962718992 Sensitivity: 0.5515587529976019 Specificity: 0.5178403755868545 Threshold: 0.45 Accuracy: 0.5233608166470357
best_model_auroc_test_auroc: 0.5411026108690512
best_model_auroc_test_auprc: 0.17289634962718992 Total Processing Time: 1550.2800 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=False,
useEeg=True,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb
prediction_window: 015
max_cases: _ALL
use_abp: False
use_eeg: True
use_ecg: False
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(eegResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
)
(eegFc): Linear(in_features=720, out_features=32, bias=True)
(fullLinear1): Linear(in_features=32, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:35<00:00, 2.24it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 11:44:10.153807] Completed epoch 0 with training loss 0.65529382, validation loss 0.58569753 Validation loss improved to 0.58569753. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:44:49.049857] Completed epoch 1 with training loss 0.49936652, validation loss 0.51570785 Validation loss improved to 0.51570785. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.62it/s]
[2024-05-04 11:45:27.903812] Completed epoch 2 with training loss 0.47698087, validation loss 0.50500995 Validation loss improved to 0.50500995. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.65it/s]
[2024-05-04 11:46:06.668081] Completed epoch 3 with training loss 0.46835691, validation loss 0.49116319 Validation loss improved to 0.49116319. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.40it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.62it/s]
[2024-05-04 11:46:45.438340] Completed epoch 4 with training loss 0.46247277, validation loss 0.48385462 Validation loss improved to 0.48385462. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.62it/s]
[2024-05-04 11:47:24.422627] Completed epoch 5 with training loss 0.45780683, validation loss 0.47856578 Validation loss improved to 0.47856578. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.59it/s]
[2024-05-04 11:48:03.357016] Completed epoch 6 with training loss 0.45441812, validation loss 0.47386971 Validation loss improved to 0.47386971. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.40it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.61it/s]
[2024-05-04 11:48:42.199286] Completed epoch 7 with training loss 0.45112294, validation loss 0.47080737 Validation loss improved to 0.47080737. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.37it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:49:21.467223] Completed epoch 8 with training loss 0.44845122, validation loss 0.46971825 Validation loss improved to 0.46971825. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 11:50:00.446232] Completed epoch 9 with training loss 0.44824067, validation loss 0.46672088 Validation loss improved to 0.46672088. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:50:39.563371] Completed epoch 10 with training loss 0.44701061, validation loss 0.46301150 Validation loss improved to 0.46301150. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:51:18.447327] Completed epoch 11 with training loss 0.44299451, validation loss 0.46529678 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.37it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.59it/s]
[2024-05-04 11:51:57.630215] Completed epoch 12 with training loss 0.44480067, validation loss 0.45963910 Validation loss improved to 0.45963910. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:52:36.521973] Completed epoch 13 with training loss 0.44361669, validation loss 0.46062091 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 11:53:15.357241] Completed epoch 14 with training loss 0.44252115, validation loss 0.46313688 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.61it/s]
[2024-05-04 11:53:54.433167] Completed epoch 15 with training loss 0.44247085, validation loss 0.46529269 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.61it/s]
[2024-05-04 11:54:33.268960] Completed epoch 16 with training loss 0.44337970, validation loss 0.45901987 Validation loss improved to 0.45901987. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 11:55:12.189597] Completed epoch 17 with training loss 0.44044122, validation loss 0.46403414 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:34<00:00, 2.35it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.55it/s]
[2024-05-04 11:55:51.732764] Completed epoch 18 with training loss 0.44104472, validation loss 0.46182135 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.40it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.64it/s]
[2024-05-04 11:56:30.449862] Completed epoch 19 with training loss 0.44207501, validation loss 0.46043226 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 11:57:09.401741] Completed epoch 20 with training loss 0.43971482, validation loss 0.46331364 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.59it/s]
[2024-05-04 11:57:48.359638] Completed epoch 21 with training loss 0.44080192, validation loss 0.46409065 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:58:27.320983] Completed epoch 22 with training loss 0.44068232, validation loss 0.46121094 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.40it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 11:59:06.070352] Completed epoch 23 with training loss 0.44010967, validation loss 0.46069136 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 11:59:44.974719] Completed epoch 24 with training loss 0.43966669, validation loss 0.45589954 Validation loss improved to 0.45589954. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.62it/s]
[2024-05-04 12:00:23.883602] Completed epoch 25 with training loss 0.43942815, validation loss 0.45900416 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 12:01:03.254216] Completed epoch 26 with training loss 0.44017324, validation loss 0.46310067 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.39it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.59it/s]
[2024-05-04 12:01:42.151388] Completed epoch 27 with training loss 0.43945837, validation loss 0.46153444 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.64it/s]
[2024-05-04 12:02:21.324241] Completed epoch 28 with training loss 0.43852979, validation loss 0.46165034 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.40it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 12:03:00.159015] Completed epoch 29 with training loss 0.43987185, validation loss 0.46603742 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.35it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.62it/s]
[2024-05-04 12:03:39.542452] Completed epoch 30 with training loss 0.43880779, validation loss 0.45897442 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.37it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 12:04:18.652403] Completed epoch 31 with training loss 0.43937016, validation loss 0.46129647 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 12:04:57.579729] Completed epoch 32 with training loss 0.43851003, validation loss 0.46316448 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:34<00:00, 2.30it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 12:05:37.766693] Completed epoch 33 with training loss 0.43914384, validation loss 0.46449614 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.63it/s]
[2024-05-04 12:06:17.031090] Completed epoch 34 with training loss 0.43885773, validation loss 0.46291277 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 12:06:56.384294] Completed epoch 35 with training loss 0.43752345, validation loss 0.47046122 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.37it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.65it/s]
[2024-05-04 12:07:35.480316] Completed epoch 36 with training loss 0.43722025, validation loss 0.46584401 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 12:08:14.898379] Completed epoch 37 with training loss 0.43666989, validation loss 0.46527201 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.36it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.65it/s]
[2024-05-04 12:08:54.052761] Completed epoch 38 with training loss 0.43831283, validation loss 0.46565363 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:34<00:00, 2.32it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 12:09:34.118490] Completed epoch 39 with training loss 0.43735379, validation loss 0.47049257 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:34<00:00, 2.34it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.60it/s]
[2024-05-04 12:10:13.784889] Completed epoch 40 with training loss 0.43600339, validation loss 0.47757980 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:33<00:00, 2.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.54it/s]
[2024-05-04 12:10:53.029704] Completed epoch 41 with training loss 0.43787700, validation loss 0.47575322 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:34<00:00, 2.32it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.58it/s]
[2024-05-04 12:11:32.979156] Completed epoch 42 with training loss 0.43659696, validation loss 0.48340854 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:35<00:00, 2.28it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
[2024-05-04 12:12:14.115228] Completed epoch 43 with training loss 0.43631965, validation loss 0.48294586 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:35<00:00, 2.24it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.53it/s]
[2024-05-04 12:12:55.517228] Completed epoch 44 with training loss 0.43699107, validation loss 0.49186113 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 24, 0.4559
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.77it/s]
Loss: 0.5855566561222076 AUROC: 0.46940303779583187 AUPRC: 0.1549516514552022 Sensitivity: 0.4631578947368421 Specificity: 0.5221476510067115 Threshold: 0.4 Accuracy: 0.5126760563380282 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.5763800799846649 AUROC: 0.48664293916979096 AUPRC: 0.1690305030368753 Sensitivity: 0.4748201438848921 Specificity: 0.49178403755868544 Threshold: 0.4 Accuracy: 0.489006674519042 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.5169248559645244 AUROC: 0.4707323678323325 AUPRC: 0.15564498734144003 Sensitivity: 0.4842105263157895 Specificity: 0.49261744966442955 Threshold: 0.29 Accuracy: 0.49126760563380284 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.5051016464829445 AUROC: 0.48830766372817236 AUPRC: 0.1696397301126384 Sensitivity: 0.49760191846522783 Specificity: 0.4666666666666667 Threshold: 0.29 Accuracy: 0.4717314487632509 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.5042930841445923 AUROC: 0.47167196514776877 AUPRC: 0.15645238986536367 Sensitivity: 0.4842105263157895 Specificity: 0.4993288590604027 Threshold: 0.28 Accuracy: 0.49690140845070424 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.35it/s]
Loss: 0.4960841082036495 AUROC: 0.48986866844552535 AUPRC: 0.17030232344732532 Sensitivity: 0.4940047961630695 Specificity: 0.4737089201877934 Threshold: 0.28 Accuracy: 0.47703180212014135 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.49155715107917786 AUROC: 0.47203932650417996 AUPRC: 0.15725145109662408 Sensitivity: 0.4982456140350877 Specificity: 0.4691275167785235 Threshold: 0.26 Accuracy: 0.47380281690140846 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.4850615821778774 AUROC: 0.49186552166717323 AUPRC: 0.17109057462715363 Sensitivity: 0.5083932853717026 Specificity: 0.4448356807511737 Threshold: 0.26 Accuracy: 0.4552414605418139 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4841266657624926 AUROC: 0.47312728129047454 AUPRC: 0.15784405048640798 Sensitivity: 0.49473684210526314 Specificity: 0.4778523489932886 Threshold: 0.25 Accuracy: 0.48056338028169016 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.47850829884409907 AUROC: 0.49367745240427374 AUPRC: 0.17179625252534958 Sensitivity: 0.5083932853717026 Specificity: 0.457981220657277 Threshold: 0.25 Accuracy: 0.4662347860227719 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.47779351472854614 AUROC: 0.4735111268103144 AUPRC: 0.15796500477072112 Sensitivity: 0.5087719298245614 Specificity: 0.46308724832214765 Threshold: 0.24 Accuracy: 0.4704225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.47368082478642465 AUROC: 0.4962103556591346 AUPRC: 0.17275495797162516 Sensitivity: 0.5179856115107914 Specificity: 0.4450704225352113 Threshold: 0.24 Accuracy: 0.45700824499411075 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.47447312091078075 AUROC: 0.474662663369834 AUPRC: 0.15824286363477863 Sensitivity: 0.48771929824561405 Specificity: 0.4986577181208054 Threshold: 0.24 Accuracy: 0.49690140845070424 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.47077281698584555 AUROC: 0.49882812060210985 AUPRC: 0.173677451080622 Sensitivity: 0.5023980815347722 Specificity: 0.48615023474178404 Threshold: 0.24 Accuracy: 0.48881036513545345 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.46976850075381144 AUROC: 0.47504886377016364 AUPRC: 0.1583717592713205 Sensitivity: 0.49122807017543857 Specificity: 0.4919463087248322 Threshold: 0.23 Accuracy: 0.49183098591549296 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.4666455052793026 AUROC: 0.5018316332849213 AUPRC: 0.17476213367971138 Sensitivity: 0.5071942446043165 Specificity: 0.4847417840375587 Threshold: 0.23 Accuracy: 0.4884177463682764 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
Loss: 0.4699321304048811 AUROC: 0.475376192158248 AUPRC: 0.1585148276618753 Sensitivity: 0.5228070175438596 Specificity: 0.44161073825503355 Threshold: 0.23 Accuracy: 0.4546478873239437 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.34it/s]
Loss: 0.46676242128014567 AUROC: 0.5051835995991939 AUPRC: 0.17584819476036453 Sensitivity: 0.4556354916067146 Specificity: 0.5619718309859155 Threshold: 0.24 Accuracy: 0.5445622300745976 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
Loss: 0.46674724348953794 AUROC: 0.4763110797127046 AUPRC: 0.15894943803074546 Sensitivity: 0.4807017543859649 Specificity: 0.5154362416107383 Threshold: 0.23 Accuracy: 0.5098591549295775 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.17it/s]
Loss: 0.4638654373586178 AUROC: 0.5086610992895824 AUPRC: 0.17700834987362585 Sensitivity: 0.5 Specificity: 0.5124413145539906 Threshold: 0.23 Accuracy: 0.5104043973301924 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.46350340970924925 AUROC: 0.4771682562109973 AUPRC: 0.15943679775033226 Sensitivity: 0.5157894736842106 Specificity: 0.47651006711409394 Threshold: 0.22 Accuracy: 0.4828169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.460114324837923 AUROC: 0.5128167888224632 AUPRC: 0.1785193661815856 Sensitivity: 0.5251798561151079 Specificity: 0.4823943661971831 Threshold: 0.22 Accuracy: 0.48939929328621906 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.46483116490500315 AUROC: 0.47783350994937007 AUPRC: 0.15949706475306136 Sensitivity: 0.49473684210526314 Specificity: 0.4691275167785235 Threshold: 0.23 Accuracy: 0.4732394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.37it/s]
Loss: 0.46234987750649453 AUROC: 0.5175086691210412 AUPRC: 0.1804124767603888 Sensitivity: 0.5323741007194245 Specificity: 0.48896713615023474 Threshold: 0.23 Accuracy: 0.4960738123282293 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.45858317826475414 AUROC: 0.47788767220063577 AUPRC: 0.15938300094215258 Sensitivity: 0.5052631578947369 Specificity: 0.43087248322147653 Threshold: 0.21 Accuracy: 0.4428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.45596057921648026 AUROC: 0.5217043266795015 AUPRC: 0.1823364973697902 Sensitivity: 0.5551558752997602 Specificity: 0.4603286384976526 Threshold: 0.21 Accuracy: 0.4758539458186101 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.4607907554933003 AUROC: 0.4781902743435771 AUPRC: 0.15926902036238866 Sensitivity: 0.4666666666666667 Specificity: 0.5013422818791946 Threshold: 0.22 Accuracy: 0.49577464788732395 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.45704882889986037 AUROC: 0.5261791974870808 AUPRC: 0.1845216068448985 Sensitivity: 0.4952038369304556 Specificity: 0.5206572769953052 Threshold: 0.22 Accuracy: 0.516489988221437 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.4631763462509428 AUROC: 0.4783880843047216 AUPRC: 0.1589583652126203 Sensitivity: 0.47017543859649125 Specificity: 0.5033557046979866 Threshold: 0.23 Accuracy: 0.49802816901408453 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.35it/s]
Loss: 0.45987378880381585 AUROC: 0.5296655633239886 AUPRC: 0.18619948772492828 Sensitivity: 0.4988009592326139 Specificity: 0.5241784037558685 Threshold: 0.23 Accuracy: 0.5200235571260307 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4654813621725355 AUROC: 0.47799717414341225 AUPRC: 0.15843396273304844 Sensitivity: 0.45614035087719296 Specificity: 0.5187919463087248 Threshold: 0.24 Accuracy: 0.5087323943661972 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4622958779335022 AUROC: 0.5366874106348725 AUPRC: 0.18900238020045196 Sensitivity: 0.49280575539568344 Specificity: 0.5422535211267606 Threshold: 0.24 Accuracy: 0.5341578327444052 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.4598856802497591 AUROC: 0.47855057105851884 AUPRC: 0.1586841393494534 Sensitivity: 0.49473684210526314 Specificity: 0.4771812080536913 Threshold: 0.22 Accuracy: 0.48 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.36it/s]
Loss: 0.45579307824373244 AUROC: 0.5406348160907893 AUPRC: 0.19087874828808582 Sensitivity: 0.5311750599520384 Specificity: 0.5046948356807511 Threshold: 0.22 Accuracy: 0.5090302316450727 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.4624402288879667 AUROC: 0.47960320263746614 AUPRC: 0.15897349374055758 Sensitivity: 0.5543859649122806 Specificity: 0.39731543624161075 Threshold: 0.23 Accuracy: 0.4225352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.35it/s]
Loss: 0.46005481109023094 AUROC: 0.5456015469314689 AUPRC: 0.1845711457741262 Sensitivity: 0.6067146282973621 Specificity: 0.43427230046948356 Threshold: 0.23 Accuracy: 0.4625049077345897 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4619409888982773 AUROC: 0.4803449899917579 AUPRC: 0.15925832034676696 Sensitivity: 0.49473684210526314 Specificity: 0.48456375838926175 Threshold: 0.23 Accuracy: 0.48619718309859156 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.35it/s]
Loss: 0.45793523266911507 AUROC: 0.5496367694576734 AUPRC: 0.18646502638685317 Sensitivity: 0.5467625899280576 Specificity: 0.5192488262910798 Threshold: 0.23 Accuracy: 0.5237534354142128 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.4597687785114561 AUROC: 0.48213705404450735 AUPRC: 0.15946183018390525 Sensitivity: 0.4280701754385965 Specificity: 0.5785234899328859 Threshold: 0.23 Accuracy: 0.5543661971830985 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.41it/s]
Loss: 0.4555946923792362 AUROC: 0.5541141734499724 AUPRC: 0.188469266617025 Sensitivity: 0.46402877697841727 Specificity: 0.6131455399061033 Threshold: 0.23 Accuracy: 0.5887318413820181 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.46171645394393374 AUROC: 0.483834922877664 AUPRC: 0.15984513627785568 Sensitivity: 0.5087719298245614 Specificity: 0.43288590604026844 Threshold: 0.23 Accuracy: 0.4450704225352113 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.4579155907034874 AUROC: 0.5569937008139967 AUPRC: 0.18983299989893498 Sensitivity: 0.5899280575539568 Specificity: 0.49061032863849763 Threshold: 0.23 Accuracy: 0.5068708284255987 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
Loss: 0.46442042929785593 AUROC: 0.4853349817496762 AUPRC: 0.15972625700276322 Sensitivity: 0.43859649122807015 Specificity: 0.5429530201342282 Threshold: 0.24 Accuracy: 0.5261971830985915 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.36it/s]
Loss: 0.4585201822221279 AUROC: 0.5606860990081174 AUPRC: 0.1934596741924754 Sensitivity: 0.49760191846522783 Specificity: 0.5913145539906103 Threshold: 0.24 Accuracy: 0.5759717314487632 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.4614546788590295 AUROC: 0.48682208877899447 AUPRC: 0.1602425232576076 Sensitivity: 0.44912280701754387 Specificity: 0.5053691275167785 Threshold: 0.23 Accuracy: 0.49633802816901407 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.4556464947760105 AUROC: 0.56173905945666 AUPRC: 0.19176001603124648 Sensitivity: 0.5323741007194245 Specificity: 0.5596244131455399 Threshold: 0.23 Accuracy: 0.5551629367883785 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.4602164030075073 AUROC: 0.4869056870363829 AUPRC: 0.1593103570792307 Sensitivity: 0.4631578947368421 Specificity: 0.508724832214765 Threshold: 0.23 Accuracy: 0.5014084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.455323825776577 AUROC: 0.5657084191801488 AUPRC: 0.19596122734204352 Sensitivity: 0.5323741007194245 Specificity: 0.5549295774647888 Threshold: 0.23 Accuracy: 0.5512367491166078 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
Loss: 0.45539185404777527 AUROC: 0.4885187801719063 AUPRC: 0.15928900529301493 Sensitivity: 0.5263157894736842 Specificity: 0.45302013422818793 Threshold: 0.21 Accuracy: 0.4647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4501290529966354 AUROC: 0.5681875626259556 AUPRC: 0.19768096412552966 Sensitivity: 0.5935251798561151 Specificity: 0.5009389671361503 Threshold: 0.21 Accuracy: 0.5160973694542599 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4587583052260535 AUROC: 0.4912304250559284 AUPRC: 0.15965863793052404 Sensitivity: 0.43508771929824563 Specificity: 0.5637583892617449 Threshold: 0.23 Accuracy: 0.5430985915492957 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4535900138318539 AUROC: 0.5704957161031737 AUPRC: 0.19882489074433604 Sensitivity: 0.4988009592326139 Specificity: 0.5971830985915493 Threshold: 0.23 Accuracy: 0.5810757754220651 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.463211721607617 AUROC: 0.4939844577887672 AUPRC: 0.16053784218127864 Sensitivity: 0.47017543859649125 Specificity: 0.5221476510067115 Threshold: 0.24 Accuracy: 0.5138028169014085 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.37it/s]
Loss: 0.458022877573967 AUROC: 0.571960741266142 AUPRC: 0.19939105061319345 Sensitivity: 0.5419664268585132 Specificity: 0.5565727699530516 Threshold: 0.24 Accuracy: 0.5541813898704359 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.4618041664361954 AUROC: 0.4961862710467444 AUPRC: 0.16138265994914236 Sensitivity: 0.5473684210526316 Specificity: 0.45503355704697984 Threshold: 0.23 Accuracy: 0.46985915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4560590036213398 AUROC: 0.5718406964569189 AUPRC: 0.19782852093013895 Sensitivity: 0.60431654676259 Specificity: 0.4931924882629108 Threshold: 0.23 Accuracy: 0.5113859442481351 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.4625317645924432 AUROC: 0.4980018839043918 AUPRC: 0.16206477617178214 Sensitivity: 0.5333333333333333 Specificity: 0.4604026845637584 Threshold: 0.23 Accuracy: 0.47211267605633805 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.45560090318322183 AUROC: 0.5736475608245798 AUPRC: 0.19644685343868742 Sensitivity: 0.5983213429256595 Specificity: 0.5018779342723004 Threshold: 0.23 Accuracy: 0.5176678445229682 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
Loss: 0.466445546065058 AUROC: 0.5002343106087366 AUPRC: 0.16279596901704657 Sensitivity: 0.543859649122807 Specificity: 0.4436241610738255 Threshold: 0.24 Accuracy: 0.4597183098591549 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.46004557982087135 AUROC: 0.573792233818579 AUPRC: 0.19631291822314006 Sensitivity: 0.5047961630695443 Specificity: 0.5946009389671362 Threshold: 0.25 Accuracy: 0.579897919120534 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.45908066630363464 AUROC: 0.503973860826563 AUPRC: 0.16347088661907097 Sensitivity: 0.45964912280701753 Specificity: 0.5604026845637584 Threshold: 0.23 Accuracy: 0.5442253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.45266508385539056 AUROC: 0.576311908219903 AUPRC: 0.20138040614438651 Sensitivity: 0.5179856115107914 Specificity: 0.5838028169014085 Threshold: 0.23 Accuracy: 0.5730270906949352 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.4605738116162164 AUROC: 0.5051772047568586 AUPRC: 0.1636934725254297 Sensitivity: 0.49473684210526314 Specificity: 0.5181208053691275 Threshold: 0.23 Accuracy: 0.5143661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4538611337542534 AUROC: 0.5756476508933698 AUPRC: 0.196737285100331 Sensitivity: 0.5467625899280576 Specificity: 0.5497652582159624 Threshold: 0.23 Accuracy: 0.5492736552807225 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.46286160179546904 AUROC: 0.5106452372542094 AUPRC: 0.16535289496116617 Sensitivity: 0.49122807017543857 Specificity: 0.5543624161073826 Threshold: 0.24 Accuracy: 0.5442253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4558772586286068 AUROC: 0.5778568694340303 AUPRC: 0.19721449607129998 Sensitivity: 0.5311750599520384 Specificity: 0.578169014084507 Threshold: 0.24 Accuracy: 0.5704750687082842 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.46506741855825695 AUROC: 0.5117732250088308 AUPRC: 0.16577668793137645 Sensitivity: 0.5298245614035088 Specificity: 0.5107382550335571 Threshold: 0.24 Accuracy: 0.5138028169014085 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4576854266226292 AUROC: 0.577785940261875 AUPRC: 0.19721877339964214 Sensitivity: 0.5623501199040767 Specificity: 0.535680751173709 Threshold: 0.24 Accuracy: 0.5400471142520612 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.4631741451365607 AUROC: 0.51382197103497 AUPRC: 0.16670301467814103 Sensitivity: 0.5052631578947369 Specificity: 0.5523489932885906 Threshold: 0.24 Accuracy: 0.5447887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4559068650007248 AUROC: 0.5781536742437037 AUPRC: 0.19716251750306268 Sensitivity: 0.5347721822541966 Specificity: 0.5690140845070423 Threshold: 0.24 Accuracy: 0.563407930899097 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4699729595865522 AUROC: 0.5136641940421525 AUPRC: 0.16667961184312868 Sensitivity: 0.5403508771929825 Specificity: 0.49731543624161073 Threshold: 0.25 Accuracy: 0.504225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.37it/s]
Loss: 0.4621428318321705 AUROC: 0.5771180238907465 AUPRC: 0.197029536908023 Sensitivity: 0.5743405275779376 Specificity: 0.5274647887323943 Threshold: 0.25 Accuracy: 0.5351393796623478 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.46541281044483185 AUROC: 0.516329918756623 AUPRC: 0.16782314862009096 Sensitivity: 0.5368421052631579 Specificity: 0.5120805369127517 Threshold: 0.24 Accuracy: 0.516056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4576007895171642 AUROC: 0.5789412132266019 AUPRC: 0.19734988444271254 Sensitivity: 0.580335731414868 Specificity: 0.5284037558685446 Threshold: 0.24 Accuracy: 0.5369061641146446 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4659085124731064 AUROC: 0.5172341928647122 AUPRC: 0.16843933802299532 Sensitivity: 0.5649122807017544 Specificity: 0.487248322147651 Threshold: 0.24 Accuracy: 0.49971830985915494 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.45872835665941236 AUROC: 0.5779497528737573 AUPRC: 0.1968940261978992 Sensitivity: 0.5287769784172662 Specificity: 0.5807511737089202 Threshold: 0.25 Accuracy: 0.5722418531605811 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.465003422328404 AUROC: 0.517326033203815 AUPRC: 0.16811209554534565 Sensitivity: 0.5719298245614035 Specificity: 0.4986577181208054 Threshold: 0.24 Accuracy: 0.5104225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4579250678420067 AUROC: 0.5798240281014625 AUPRC: 0.1976124253178062 Sensitivity: 0.5275779376498801 Specificity: 0.5842723004694835 Threshold: 0.25 Accuracy: 0.5749901845308206 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.47090242377349306 AUROC: 0.5162404332980102 AUPRC: 0.16758762343701944 Sensitivity: 0.519298245614035 Specificity: 0.5315436241610738 Threshold: 0.26 Accuracy: 0.5295774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.46343662291765214 AUROC: 0.5787077380349241 AUPRC: 0.19747007255466742 Sensitivity: 0.5515587529976019 Specificity: 0.5542253521126761 Threshold: 0.26 Accuracy: 0.5537887711032587 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.47885047112192425 AUROC: 0.517326033203815 AUPRC: 0.16788093091262524 Sensitivity: 0.5614035087719298 Specificity: 0.5040268456375839 Threshold: 0.27 Accuracy: 0.5132394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4704911172389984 AUROC: 0.5805174170522738 AUPRC: 0.1981420064601716 Sensitivity: 0.5911270983213429 Specificity: 0.5192488262910798 Threshold: 0.27 Accuracy: 0.5310168826069886 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.47560972401074003 AUROC: 0.517184740374426 AUPRC: 0.16765298216344068 Sensitivity: 0.512280701754386 Specificity: 0.5395973154362416 Threshold: 0.27 Accuracy: 0.5352112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4675441309809685 AUROC: 0.5816355366411097 AUPRC: 0.1984611453521744 Sensitivity: 0.5623501199040767 Specificity: 0.5558685446009389 Threshold: 0.27 Accuracy: 0.5569297212406753 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.4842959706272398 AUROC: 0.5143659484281173 AUPRC: 0.16660622604846942 Sensitivity: 0.49473684210526314 Specificity: 0.5536912751677853 Threshold: 0.29 Accuracy: 0.5442253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.4760606586933136 AUROC: 0.5820298690624964 AUPRC: 0.19923954639118313 Sensitivity: 0.539568345323741 Specificity: 0.5706572769953052 Threshold: 0.29 Accuracy: 0.5655673341185709 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4820844041449683 AUROC: 0.513299187566231 AUPRC: 0.16639014863019203 Sensitivity: 0.5333333333333333 Specificity: 0.5053691275167785 Threshold: 0.28 Accuracy: 0.5098591549295775 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4729690313339233 AUROC: 0.5820056630751737 AUPRC: 0.19927856912296144 Sensitivity: 0.5911270983213429 Specificity: 0.5291079812206573 Threshold: 0.28 Accuracy: 0.5392618767177071 Intermediate Model: ./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.491871850831168 AUROC: 0.5079041563640645 AUPRC: 0.16399853491686633 Sensitivity: 0.5228070175438596 Specificity: 0.5026845637583892 Threshold: 0.3 Accuracy: 0.5059154929577465 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4839232534170151 AUROC: 0.5821233154321613 AUPRC: 0.19948853959933022 Sensitivity: 0.5851318944844125 Specificity: 0.5335680751173709 Threshold: 0.3 Accuracy: 0.5420102080879466 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 24, 0.4559 Epoch with best model Test AUROC: 44, 0.5821 Epoch with best model Test Accuracy: 19, 0.5887
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 24, 0.4559
Best Model Based on Validation Loss:
./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0024.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.36it/s]
Loss: 0.4501290529966354 AUROC: 0.5681875626259556 AUPRC: 0.19768096412552966 Sensitivity: 0.5935251798561151 Specificity: 0.5009389671361503 Threshold: 0.21 Accuracy: 0.5160973694542599
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.5681875626259556
best_model_val_test_auprc: 0.19768096412552966
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 44, 0.5821
Best Model Based on Model AUROC:
./vitaldb_cache/models/EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_acd313eb_0044.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4839232534170151 AUROC: 0.5821233154321613 AUPRC: 0.19948853959933022 Sensitivity: 0.5851318944844125 Specificity: 0.5335680751173709 Threshold: 0.3 Accuracy: 0.5420102080879466
best_model_auroc_test_auroc: 0.5821233154321613
best_model_auroc_test_auprc: 0.19948853959933022 Total Processing Time: 2871.6900 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=True,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b
prediction_window: 015
max_cases: _ALL
use_abp: True
use_eeg: False
use_ecg: True
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(abpResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(abpFc): Linear(in_features=2814, out_features=32, bias=True)
(ecgResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(ecgFc): Linear(in_features=2814, out_features=32, bias=True)
(fullLinear1): Linear(in_features=64, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.45it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
[2024-05-04 12:32:23.128131] Completed epoch 0 with training loss 0.42990822, validation loss 0.42385453 Validation loss improved to 0.42385453. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
[2024-05-04 12:33:24.268093] Completed epoch 1 with training loss 0.40044278, validation loss 0.43202692 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
[2024-05-04 12:34:24.900139] Completed epoch 2 with training loss 0.39713749, validation loss 0.42221203 Validation loss improved to 0.42221203. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
[2024-05-04 12:35:25.459633] Completed epoch 3 with training loss 0.39583826, validation loss 0.43072185 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 12:36:26.383787] Completed epoch 4 with training loss 0.39442295, validation loss 0.43578592 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.09it/s]
[2024-05-04 12:37:28.027357] Completed epoch 5 with training loss 0.39588886, validation loss 0.41816640 Validation loss improved to 0.41816640. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.45it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
[2024-05-04 12:38:30.024935] Completed epoch 6 with training loss 0.39452562, validation loss 0.43458551 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 12:39:30.725361] Completed epoch 7 with training loss 0.39572442, validation loss 0.41340914 Validation loss improved to 0.41340914. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
[2024-05-04 12:40:31.278828] Completed epoch 8 with training loss 0.39528391, validation loss 0.41634074 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
[2024-05-04 12:41:31.907037] Completed epoch 9 with training loss 0.39544171, validation loss 0.43029299 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 12:42:32.114892] Completed epoch 10 with training loss 0.39472699, validation loss 0.43333143 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
[2024-05-04 12:43:32.862244] Completed epoch 11 with training loss 0.39432180, validation loss 0.43215197 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
[2024-05-04 12:44:33.330187] Completed epoch 12 with training loss 0.39500561, validation loss 0.41866186 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
[2024-05-04 12:45:34.769097] Completed epoch 13 with training loss 0.39564204, validation loss 0.42036846 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 12:46:34.886745] Completed epoch 14 with training loss 0.39564127, validation loss 0.42371622 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 12:47:35.266985] Completed epoch 15 with training loss 0.39529240, validation loss 0.43331838 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
[2024-05-04 12:48:35.965861] Completed epoch 16 with training loss 0.39400485, validation loss 0.41381964 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 12:49:36.631262] Completed epoch 17 with training loss 0.39618725, validation loss 0.43325475 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
[2024-05-04 12:50:39.171249] Completed epoch 18 with training loss 0.39436650, validation loss 0.41714123 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
[2024-05-04 12:51:40.655883] Completed epoch 19 with training loss 0.39487189, validation loss 0.42676136 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 12:52:41.983243] Completed epoch 20 with training loss 0.39468417, validation loss 0.41032737 Validation loss improved to 0.41032737. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
[2024-05-04 12:53:44.640314] Completed epoch 21 with training loss 0.39482909, validation loss 0.43139836 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:57<00:00, 1.38it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 12:54:48.733696] Completed epoch 22 with training loss 0.39446059, validation loss 0.41064724 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.13it/s]
[2024-05-04 12:55:48.960181] Completed epoch 23 with training loss 0.39502844, validation loss 0.42783123 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 12:56:48.537832] Completed epoch 24 with training loss 0.39471519, validation loss 0.41252127 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.02it/s]
[2024-05-04 12:57:48.893906] Completed epoch 25 with training loss 0.39503255, validation loss 0.42434493 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 12:58:48.361787] Completed epoch 26 with training loss 0.39477363, validation loss 0.41077262 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 12:59:47.984634] Completed epoch 27 with training loss 0.39370289, validation loss 0.41842821 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 13:00:47.672797] Completed epoch 28 with training loss 0.39559832, validation loss 0.40808734 Validation loss improved to 0.40808734. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.02it/s]
[2024-05-04 13:01:48.294685] Completed epoch 29 with training loss 0.39464903, validation loss 0.41122970 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 13:02:47.710429] Completed epoch 30 with training loss 0.39419007, validation loss 0.42509285 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 13:03:49.255071] Completed epoch 31 with training loss 0.39426437, validation loss 0.40870363 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 13:04:51.218770] Completed epoch 32 with training loss 0.39446050, validation loss 0.42076844 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 13:05:53.129480] Completed epoch 33 with training loss 0.39450708, validation loss 0.41837978 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.45it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 13:06:54.601811] Completed epoch 34 with training loss 0.39589062, validation loss 0.42847520 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 13:07:55.015443] Completed epoch 35 with training loss 0.39408118, validation loss 0.41503981 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 13:08:55.992641] Completed epoch 36 with training loss 0.39653292, validation loss 0.40648612 Validation loss improved to 0.40648612. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.03it/s]
[2024-05-04 13:09:58.947133] Completed epoch 37 with training loss 0.39451140, validation loss 0.40494356 Validation loss improved to 0.40494356. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:56<00:00, 1.42it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 13:11:01.657049] Completed epoch 38 with training loss 0.39379185, validation loss 0.40572450 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:12:02.237407] Completed epoch 39 with training loss 0.39429960, validation loss 0.41264153 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 13:13:01.968653] Completed epoch 40 with training loss 0.39549002, validation loss 0.41184765 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 13:14:02.174473] Completed epoch 41 with training loss 0.39517283, validation loss 0.40619138 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:52<00:00, 1.52it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
[2024-05-04 13:15:00.936814] Completed epoch 42 with training loss 0.39395577, validation loss 0.40646172 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.54it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 13:15:58.795262] Completed epoch 43 with training loss 0.39358392, validation loss 0.41426882 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:52<00:00, 1.53it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 13:16:57.351661] Completed epoch 44 with training loss 0.39476168, validation loss 0.41430280 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:52<00:00, 1.53it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 13:17:55.694433] Completed epoch 45 with training loss 0.39531654, validation loss 0.40955642 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.55it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 13:18:53.795072] Completed epoch 46 with training loss 0.39526796, validation loss 0.40534869 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.55it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:19:51.675533] Completed epoch 47 with training loss 0.39517456, validation loss 0.41618031 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.54it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 13:20:49.688273] Completed epoch 48 with training loss 0.39537376, validation loss 0.41084892 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:52<00:00, 1.53it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 13:21:48.258490] Completed epoch 49 with training loss 0.39435822, validation loss 0.40420374 Validation loss improved to 0.40420374. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.56it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:22:45.675190] Completed epoch 50 with training loss 0.39324829, validation loss 0.40713066 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:23:42.399321] Completed epoch 51 with training loss 0.39604706, validation loss 0.40491366 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 13:24:39.205692] Completed epoch 52 with training loss 0.39514059, validation loss 0.40750244 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 13:25:35.932328] Completed epoch 53 with training loss 0.39509472, validation loss 0.42393565 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.59it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:26:32.673341] Completed epoch 54 with training loss 0.39562276, validation loss 0.40314892 Validation loss improved to 0.40314892. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:27:29.563284] Completed epoch 55 with training loss 0.39642161, validation loss 0.41571674 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.56it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 13:28:27.056022] Completed epoch 56 with training loss 0.39319965, validation loss 0.42977324 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:51<00:00, 1.56it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:29:24.572126] Completed epoch 57 with training loss 0.39569223, validation loss 0.40521321 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 13:30:21.412378] Completed epoch 58 with training loss 0.39551175, validation loss 0.41345382 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:31:18.144427] Completed epoch 59 with training loss 0.39577684, validation loss 0.40907747 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:32:15.101363] Completed epoch 60 with training loss 0.39454740, validation loss 0.40607777 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 13:33:11.912296] Completed epoch 61 with training loss 0.39496523, validation loss 0.42541215 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.59it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:34:08.611203] Completed epoch 62 with training loss 0.39452264, validation loss 0.41521499 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:35:05.393499] Completed epoch 63 with training loss 0.39300355, validation loss 0.42527863 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.57it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 13:36:02.535524] Completed epoch 64 with training loss 0.39377552, validation loss 0.42472693 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 13:36:59.490965] Completed epoch 65 with training loss 0.39410228, validation loss 0.40559322 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.57it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 13:37:56.542595] Completed epoch 66 with training loss 0.39430875, validation loss 0.40970370 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 13:38:53.500535] Completed epoch 67 with training loss 0.39598480, validation loss 0.40739641 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 13:39:50.456510] Completed epoch 68 with training loss 0.39474955, validation loss 0.41153878 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.57it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 13:40:47.514542] Completed epoch 69 with training loss 0.39549679, validation loss 0.42796493 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.57it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:41:44.646848] Completed epoch 70 with training loss 0.39532083, validation loss 0.41105229 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 13:42:41.342271] Completed epoch 71 with training loss 0.39542618, validation loss 0.40510035 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 13:43:38.072791] Completed epoch 72 with training loss 0.39623436, validation loss 0.41279742 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 13:44:34.987531] Completed epoch 73 with training loss 0.39477703, validation loss 0.42195055 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:50<00:00, 1.58it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 13:45:31.877429] Completed epoch 74 with training loss 0.39611220, validation loss 0.41143170 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 54, 0.4031
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.42516899960381643 AUROC: 0.6979536088543508 AUPRC: 0.3236490832884923 Sensitivity: 0.6596491228070176 Specificity: 0.6496644295302013 Threshold: 0.12 Accuracy: 0.6512676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.424166539311409 AUROC: 0.7314134607806713 AUPRC: 0.350813371353264 Sensitivity: 0.6822541966426858 Specificity: 0.6610328638497652 Threshold: 0.12 Accuracy: 0.6645072634471928 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.43143545516899656 AUROC: 0.6985211350523961 AUPRC: 0.33166926295329513 Sensitivity: 0.6736842105263158 Specificity: 0.6342281879194631 Threshold: 0.1 Accuracy: 0.6405633802816901 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.429884022846818 AUROC: 0.7332363686515577 AUPRC: 0.35697555723443286 Sensitivity: 0.6954436450839329 Specificity: 0.6469483568075117 Threshold: 0.1 Accuracy: 0.6548881036513545 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.42167974582740236 AUROC: 0.698572942423172 AUPRC: 0.33512408103555513 Sensitivity: 0.631578947368421 Specificity: 0.6704697986577182 Threshold: 0.12 Accuracy: 0.6642253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4201565865427256 AUROC: 0.7341453597685231 AUPRC: 0.3605923264606771 Sensitivity: 0.6546762589928058 Specificity: 0.6866197183098591 Threshold: 0.12 Accuracy: 0.6813898704358068 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.43080183225018637 AUROC: 0.6988013658306841 AUPRC: 0.33760119997169935 Sensitivity: 0.6350877192982456 Specificity: 0.6677852348993288 Threshold: 0.1 Accuracy: 0.6625352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4311380658298731 AUROC: 0.73496808187253 AUPRC: 0.3630011735463407 Sensitivity: 0.6618705035971223 Specificity: 0.6833333333333333 Threshold: 0.1 Accuracy: 0.6798193953670986 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.4357371223824365 AUROC: 0.6987660426233369 AUPRC: 0.33888225286244694 Sensitivity: 0.6596491228070176 Specificity: 0.6483221476510067 Threshold: 0.09 Accuracy: 0.6501408450704226 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.43659796863794326 AUROC: 0.73500298352867 AUPRC: 0.3630384239311863 Sensitivity: 0.6918465227817746 Specificity: 0.6563380281690141 Threshold: 0.09 Accuracy: 0.6621515508441304 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.41785965647016254 AUROC: 0.698864947603909 AUPRC: 0.3376515957439056 Sensitivity: 0.6666666666666666 Specificity: 0.6328859060402685 Threshold: 0.12 Accuracy: 0.6383098591549295 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.4162864189594984 AUROC: 0.7353297643575281 AUPRC: 0.36203775416516254 Sensitivity: 0.7050359712230215 Specificity: 0.64037558685446 Threshold: 0.12 Accuracy: 0.6509619159795839 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.4344810140984399 AUROC: 0.6980360296714943 AUPRC: 0.3393530780324124 Sensitivity: 0.6771929824561403 Specificity: 0.6134228187919463 Threshold: 0.09 Accuracy: 0.6236619718309859 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4344048578292131 AUROC: 0.7340391067427747 AUPRC: 0.3631164099520957 Sensitivity: 0.6330935251798561 Specificity: 0.7145539906103286 Threshold: 0.1 Accuracy: 0.7012171181782489 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.412591638309615 AUROC: 0.6981372895325562 AUPRC: 0.3363604978066563 Sensitivity: 0.6385964912280702 Specificity: 0.6657718120805369 Threshold: 0.15 Accuracy: 0.6614084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.411873522028327 AUROC: 0.7347949809166752 AUPRC: 0.3611168272554948 Sensitivity: 0.6738609112709832 Specificity: 0.6816901408450704 Threshold: 0.15 Accuracy: 0.6804083235178642 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.4151577779224941 AUROC: 0.6976733780760627 AUPRC: 0.3372137725536177 Sensitivity: 0.6385964912280702 Specificity: 0.6644295302013423 Threshold: 0.14 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.4141704872250557 AUROC: 0.7342973508517131 AUPRC: 0.3623767066445729 Sensitivity: 0.6750599520383693 Specificity: 0.6748826291079812 Threshold: 0.14 Accuracy: 0.6749116607773852 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
Loss: 0.4322431577103479 AUROC: 0.6972671611915695 AUPRC: 0.338352234285441 Sensitivity: 0.6385964912280702 Specificity: 0.661744966442953 Threshold: 0.1 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4315855897963047 AUROC: 0.7333809009130724 AUPRC: 0.3612176200575663 Sensitivity: 0.6738609112709832 Specificity: 0.6793427230046948 Threshold: 0.1 Accuracy: 0.6784452296819788 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.4329383692571095 AUROC: 0.6971317555634051 AUPRC: 0.34168269618490626 Sensitivity: 0.6421052631578947 Specificity: 0.6624161073825503 Threshold: 0.1 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4329654797911644 AUROC: 0.7330062710395064 AUPRC: 0.3604324697568746 Sensitivity: 0.6762589928057554 Specificity: 0.6751173708920187 Threshold: 0.1 Accuracy: 0.6753042795445622 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.4304905853101185 AUROC: 0.6972165312610384 AUPRC: 0.3400685155357342 Sensitivity: 0.6456140350877193 Specificity: 0.6536912751677852 Threshold: 0.1 Accuracy: 0.652394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.22it/s]
Loss: 0.43110031709074975 AUROC: 0.7329394231093997 AUPRC: 0.3599711031023385 Sensitivity: 0.6834532374100719 Specificity: 0.6664319248826291 Threshold: 0.1 Accuracy: 0.6692186886533177 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.41855697333812714 AUROC: 0.6973225008830801 AUPRC: 0.340074239690625 Sensitivity: 0.6175438596491228 Specificity: 0.6798657718120805 Threshold: 0.13 Accuracy: 0.6698591549295775 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.41731283739209174 AUROC: 0.7332989946071312 AUPRC: 0.35957768209511604 Sensitivity: 0.6534772182254197 Specificity: 0.6997652582159625 Threshold: 0.13 Accuracy: 0.6921868865331763 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.4200966102736337 AUROC: 0.6971741434122217 AUPRC: 0.3411755622026948 Sensitivity: 0.6456140350877193 Specificity: 0.6583892617449665 Threshold: 0.12 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.4209831949323416 AUROC: 0.7328131860708617 AUPRC: 0.3597854220836664 Sensitivity: 0.6738609112709832 Specificity: 0.6713615023474179 Threshold: 0.12 Accuracy: 0.6717707106399686 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.42445579171180725 AUROC: 0.6969881078535264 AUPRC: 0.34102244411725285 Sensitivity: 0.6631578947368421 Specificity: 0.6409395973154363 Threshold: 0.11 Accuracy: 0.6445070422535212 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.42504341937601564 AUROC: 0.7322961349230475 AUPRC: 0.359154420658702 Sensitivity: 0.6966426858513189 Specificity: 0.6511737089201878 Threshold: 0.11 Accuracy: 0.6586179819395367 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.43336127059800283 AUROC: 0.6970045920169552 AUPRC: 0.3428872960789312 Sensitivity: 0.6631578947368421 Specificity: 0.6268456375838927 Threshold: 0.09 Accuracy: 0.6326760563380281 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.4354122646152973 AUROC: 0.7320836288715508 AUPRC: 0.35875275661840017 Sensitivity: 0.7038369304556354 Specificity: 0.64037558685446 Threshold: 0.09 Accuracy: 0.6507656065959952 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.41303721496037077 AUROC: 0.697654539032144 AUPRC: 0.33991507535923954 Sensitivity: 0.6701754385964912 Specificity: 0.6187919463087248 Threshold: 0.13 Accuracy: 0.6270422535211267 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.4129066079854965 AUROC: 0.7328632868353204 AUPRC: 0.3599966660628434 Sensitivity: 0.6498800959232613 Specificity: 0.7016431924882629 Threshold: 0.14 Accuracy: 0.693168433451119 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.43248569113867624 AUROC: 0.6972542093488755 AUPRC: 0.34316016770655106 Sensitivity: 0.6771929824561403 Specificity: 0.6134228187919463 Threshold: 0.09 Accuracy: 0.6236619718309859 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.43401174433529377 AUROC: 0.731881537023902 AUPRC: 0.35893035820898667 Sensitivity: 0.7146282973621103 Specificity: 0.6281690140845071 Threshold: 0.09 Accuracy: 0.6423243031016883 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.416797793337277 AUROC: 0.697555634051572 AUPRC: 0.338174889281748 Sensitivity: 0.631578947368421 Specificity: 0.6624161073825503 Threshold: 0.12 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.22it/s]
Loss: 0.41689038164913655 AUROC: 0.7322651737764718 AUPRC: 0.3584352782580703 Sensitivity: 0.670263788968825 Specificity: 0.67981220657277 Threshold: 0.12 Accuracy: 0.6782489202983902 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.4269751182624272 AUROC: 0.6972212410220181 AUPRC: 0.3366290154137916 Sensitivity: 0.6736842105263158 Specificity: 0.6167785234899329 Threshold: 0.1 Accuracy: 0.6259154929577465 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.42786239832639694 AUROC: 0.7316330034563898 AUPRC: 0.35711030930736776 Sensitivity: 0.7122302158273381 Specificity: 0.6335680751173709 Threshold: 0.1 Accuracy: 0.6464468001570475 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4100841645683561 AUROC: 0.6979277051689625 AUPRC: 0.3369916732737553 Sensitivity: 0.6421052631578947 Specificity: 0.6570469798657718 Threshold: 0.15 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.40953056141734123 AUROC: 0.7324306751781673 AUPRC: 0.3588020523753073 Sensitivity: 0.6762589928057554 Specificity: 0.6730046948356807 Threshold: 0.15 Accuracy: 0.6735374950922655 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.431536927819252 AUROC: 0.6963617096432356 AUPRC: 0.3381873003262184 Sensitivity: 0.6385964912280702 Specificity: 0.6543624161073825 Threshold: 0.1 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4340718943625689 AUROC: 0.7305637180396528 AUPRC: 0.3567803949316921 Sensitivity: 0.6630695443645084 Specificity: 0.6704225352112676 Threshold: 0.1 Accuracy: 0.6692186886533177 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.41064727306365967 AUROC: 0.6984551983986812 AUPRC: 0.3369775937963951 Sensitivity: 0.6701754385964912 Specificity: 0.6241610738255033 Threshold: 0.12 Accuracy: 0.6315492957746479 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.41052105836570263 AUROC: 0.7326642911023293 AUPRC: 0.3592462820503032 Sensitivity: 0.6438848920863309 Specificity: 0.7037558685446009 Threshold: 0.13 Accuracy: 0.6939536709854731 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.42874751559325625 AUROC: 0.6974555516307547 AUPRC: 0.3352840900502655 Sensitivity: 0.6771929824561403 Specificity: 0.6154362416107383 Threshold: 0.09 Accuracy: 0.6253521126760564 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.429956978559494 AUROC: 0.7313426723410005 AUPRC: 0.3560527965254835 Sensitivity: 0.7134292565947242 Specificity: 0.6298122065727699 Threshold: 0.09 Accuracy: 0.6435021594032194 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.4117537204708372 AUROC: 0.6980148357470859 AUPRC: 0.33830081424303593 Sensitivity: 0.6526315789473685 Specificity: 0.6523489932885906 Threshold: 0.13 Accuracy: 0.652394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.4126865603029728 AUROC: 0.7320300097949809 AUPRC: 0.35816243886621224 Sensitivity: 0.6798561151079137 Specificity: 0.6669014084507042 Threshold: 0.13 Accuracy: 0.6690223792697291 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.42468835626329693 AUROC: 0.6982515012363122 AUPRC: 0.3358474581247306 Sensitivity: 0.6421052631578947 Specificity: 0.6604026845637584 Threshold: 0.1 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.42520608603954313 AUROC: 0.7323003568975806 AUPRC: 0.3583495400596563 Sensitivity: 0.6642685851318945 Specificity: 0.6805164319248826 Threshold: 0.1 Accuracy: 0.6778563015312132 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
Loss: 0.4105945144380842 AUROC: 0.6979536088543506 AUPRC: 0.33524044035874634 Sensitivity: 0.6350877192982456 Specificity: 0.661744966442953 Threshold: 0.13 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.40976210683584213 AUROC: 0.7319775165782867 AUPRC: 0.3590248899167435 Sensitivity: 0.6606714628297362 Specificity: 0.6814553990610329 Threshold: 0.13 Accuracy: 0.6780526109148017 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
Loss: 0.41747709044388365 AUROC: 0.6978311550688803 AUPRC: 0.3364854729442368 Sensitivity: 0.6666666666666666 Specificity: 0.6208053691275168 Threshold: 0.11 Accuracy: 0.6281690140845071 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.41761021502316 AUROC: 0.7321157158780018 AUPRC: 0.3585013685277081 Sensitivity: 0.7134292565947242 Specificity: 0.6333333333333333 Threshold: 0.11 Accuracy: 0.6464468001570475 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
Loss: 0.4083946368524006 AUROC: 0.6982762274814552 AUPRC: 0.333374125691733 Sensitivity: 0.6701754385964912 Specificity: 0.6194630872483221 Threshold: 0.16 Accuracy: 0.6276056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.05it/s]
Loss: 0.40740617290139197 AUROC: 0.73268779342723 AUPRC: 0.357737409663768 Sensitivity: 0.6474820143884892 Specificity: 0.6976525821596244 Threshold: 0.17 Accuracy: 0.6894385551629368 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
Loss: 0.4118682039635522 AUROC: 0.6997786412339574 AUPRC: 0.3333332451844107 Sensitivity: 0.6421052631578947 Specificity: 0.6590604026845638 Threshold: 0.12 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.07it/s]
Loss: 0.411039849370718 AUROC: 0.7343744722531833 AUPRC: 0.35986491174628293 Sensitivity: 0.6762589928057554 Specificity: 0.6748826291079812 Threshold: 0.12 Accuracy: 0.6751079701609737 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.42469225185258047 AUROC: 0.6974214058636524 AUPRC: 0.3379067095863756 Sensitivity: 0.6035087719298246 Specificity: 0.6818791946308724 Threshold: 0.1 Accuracy: 0.6692957746478874 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.17it/s]
Loss: 0.4247471481561661 AUROC: 0.731089494601502 AUPRC: 0.35763100796915576 Sensitivity: 0.63189448441247 Specificity: 0.7089201877934272 Threshold: 0.1 Accuracy: 0.6963093835885356 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
Loss: 0.40798055274145945 AUROC: 0.700063581773225 AUPRC: 0.333670907373434 Sensitivity: 0.6385964912280702 Specificity: 0.6523489932885906 Threshold: 0.12 Accuracy: 0.6501408450704226 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.15it/s]
Loss: 0.40605787113308905 AUROC: 0.735655841523964 AUPRC: 0.3614030229906491 Sensitivity: 0.6822541966426858 Specificity: 0.6697183098591549 Threshold: 0.12 Accuracy: 0.6717707106399686 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.95it/s]
Loss: 0.4200581418616431 AUROC: 0.697885317320146 AUPRC: 0.3369019070862636 Sensitivity: 0.6210526315789474 Specificity: 0.6718120805369128 Threshold: 0.11 Accuracy: 0.663661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.42027950286865234 AUROC: 0.7316805710361288 AUPRC: 0.35664373695017554 Sensitivity: 0.6510791366906474 Specificity: 0.6946009389671362 Threshold: 0.11 Accuracy: 0.6874754613270514 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.07it/s]
Loss: 0.4190094641276768 AUROC: 0.6999222889438361 AUPRC: 0.3320834960537493 Sensitivity: 0.6350877192982456 Specificity: 0.6590604026845638 Threshold: 0.11 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.14it/s]
Loss: 0.4172797318547964 AUROC: 0.7348701320633634 AUPRC: 0.3610898621904549 Sensitivity: 0.6726618705035972 Specificity: 0.676056338028169 Threshold: 0.11 Accuracy: 0.6755005889281508 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.95it/s]
Loss: 0.4286795194659914 AUROC: 0.6991098551748498 AUPRC: 0.33000543614029554 Sensitivity: 0.6912280701754386 Specificity: 0.6100671140939598 Threshold: 0.09 Accuracy: 0.6230985915492958 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.42841819636523726 AUROC: 0.733546402314768 AUPRC: 0.3594787354682997 Sensitivity: 0.6354916067146283 Specificity: 0.719718309859155 Threshold: 0.1 Accuracy: 0.7059285433843737 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.4156697520187923 AUROC: 0.6985517484987637 AUPRC: 0.3390168426377773 Sensitivity: 0.6596491228070176 Specificity: 0.6442953020134228 Threshold: 0.1 Accuracy: 0.6467605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.08it/s]
Loss: 0.4142110697925091 AUROC: 0.7328241632046475 AUPRC: 0.36131425688732954 Sensitivity: 0.6930455635491607 Specificity: 0.6553990610328638 Threshold: 0.1 Accuracy: 0.6615626226933647 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.99it/s]
Loss: 0.40675834247044157 AUROC: 0.6996514776875074 AUPRC: 0.3446572228927572 Sensitivity: 0.6421052631578947 Specificity: 0.661744966442953 Threshold: 0.13 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.40324376448988913 AUROC: 0.7349210772227289 AUPRC: 0.3613783248489103 Sensitivity: 0.6738609112709832 Specificity: 0.67981220657277 Threshold: 0.13 Accuracy: 0.6788378484491558 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.11it/s]
Loss: 0.40509519832474844 AUROC: 0.6994795714117509 AUPRC: 0.3407106249298081 Sensitivity: 0.6526315789473685 Specificity: 0.6503355704697986 Threshold: 0.13 Accuracy: 0.6507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.01it/s]
Loss: 0.4030648056417704 AUROC: 0.735632902129001 AUPRC: 0.361452160355802 Sensitivity: 0.6894484412470024 Specificity: 0.6603286384976526 Threshold: 0.13 Accuracy: 0.6650961915979584 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.11it/s]
Loss: 0.4049029690878732 AUROC: 0.6990085953137877 AUPRC: 0.33267238499591784 Sensitivity: 0.6350877192982456 Specificity: 0.6677852348993288 Threshold: 0.14 Accuracy: 0.6625352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.4031966309994459 AUROC: 0.7352672791344389 AUPRC: 0.3619490582286831 Sensitivity: 0.6654676258992805 Specificity: 0.6863849765258216 Threshold: 0.14 Accuracy: 0.6829603455045151 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
Loss: 0.41235540168625967 AUROC: 0.699043918521135 AUPRC: 0.3344085445655934 Sensitivity: 0.6701754385964912 Specificity: 0.6369127516778523 Threshold: 0.12 Accuracy: 0.6422535211267606 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.4104148641228676 AUROC: 0.7353525630200065 AUPRC: 0.3620490857633846 Sensitivity: 0.7002398081534772 Specificity: 0.6450704225352113 Threshold: 0.12 Accuracy: 0.6541028661170004 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.11it/s]
Loss: 0.41198415628501345 AUROC: 0.6979583186153302 AUPRC: 0.34017355311094594 Sensitivity: 0.6736842105263158 Specificity: 0.6248322147651006 Threshold: 0.13 Accuracy: 0.6326760563380281 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.22it/s]
Loss: 0.40956606566905973 AUROC: 0.7328798932684838 AUPRC: 0.3632833651723515 Sensitivity: 0.7062350119904077 Specificity: 0.6345070422535212 Threshold: 0.13 Accuracy: 0.646250490773459 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.40594981823648724 AUROC: 0.7003885552808196 AUPRC: 0.33372827745386574 Sensitivity: 0.6736842105263158 Specificity: 0.636241610738255 Threshold: 0.12 Accuracy: 0.6422535211267606 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.12it/s]
Loss: 0.4004561919718981 AUROC: 0.7368294097116672 AUPRC: 0.3634377954798838 Sensitivity: 0.697841726618705 Specificity: 0.6490610328638498 Threshold: 0.12 Accuracy: 0.6570475068708285 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.09it/s]
Loss: 0.406654845391001 AUROC: 0.6988696573648887 AUPRC: 0.33472583711162734 Sensitivity: 0.6421052631578947 Specificity: 0.6570469798657718 Threshold: 0.13 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.40335120894014836 AUROC: 0.7344665112980039 AUPRC: 0.3607714618938144 Sensitivity: 0.6798561151079137 Specificity: 0.6697183098591549 Threshold: 0.13 Accuracy: 0.6713780918727915 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.4146354453904288 AUROC: 0.6984151654303545 AUPRC: 0.3317078307818105 Sensitivity: 0.6210526315789474 Specificity: 0.6785234899328859 Threshold: 0.12 Accuracy: 0.6692957746478874 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.12it/s]
Loss: 0.41404636614024637 AUROC: 0.7338486956913343 AUPRC: 0.3599816153223334 Sensitivity: 0.6438848920863309 Specificity: 0.6990610328638498 Threshold: 0.12 Accuracy: 0.6900274833137024 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
Loss: 0.41396149567195345 AUROC: 0.6993853761921582 AUPRC: 0.3365348847229941 Sensitivity: 0.6456140350877193 Specificity: 0.6583892617449665 Threshold: 0.11 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.4123324085026979 AUROC: 0.7344940948649532 AUPRC: 0.3612468859158913 Sensitivity: 0.6774580335731415 Specificity: 0.6715962441314554 Threshold: 0.11 Accuracy: 0.6725559481743227 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0045.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.41065467255456106 AUROC: 0.6999175791828565 AUPRC: 0.33470072018389674 Sensitivity: 0.6526315789473685 Specificity: 0.6536912751677852 Threshold: 0.19 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.40299478024244306 AUROC: 0.7370101102216818 AUPRC: 0.3639633024678516 Sensitivity: 0.6858513189448441 Specificity: 0.6669014084507042 Threshold: 0.19 Accuracy: 0.6700039261876718 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0046.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.4059517277138574 AUROC: 0.6979865771812082 AUPRC: 0.3363069092191628 Sensitivity: 0.6701754385964912 Specificity: 0.6308724832214765 Threshold: 0.15 Accuracy: 0.6371830985915493 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.15it/s]
Loss: 0.4028975896537304 AUROC: 0.7345861339097736 AUPRC: 0.3611132228959439 Sensitivity: 0.6990407673860911 Specificity: 0.6460093896713615 Threshold: 0.15 Accuracy: 0.654691794267766 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0047.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.41541127434798647 AUROC: 0.6986459437183562 AUPRC: 0.3305921379979886 Sensitivity: 0.6596491228070176 Specificity: 0.6449664429530201 Threshold: 0.21 Accuracy: 0.6473239436619719 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.4050541970878839 AUROC: 0.7364750453158599 AUPRC: 0.36157773288401385 Sensitivity: 0.658273381294964 Specificity: 0.6805164319248826 Threshold: 0.22 Accuracy: 0.6768747546132705 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0048.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.41069149332387106 AUROC: 0.698624749793948 AUPRC: 0.33740820477596983 Sensitivity: 0.6210526315789474 Specificity: 0.6785234899328859 Threshold: 0.14 Accuracy: 0.6692957746478874 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.14it/s]
Loss: 0.4086889743804932 AUROC: 0.7330349804663312 AUPRC: 0.36008548215904856 Sensitivity: 0.6438848920863309 Specificity: 0.6976525821596244 Threshold: 0.14 Accuracy: 0.6888496270121712 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0049.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.40421420548643383 AUROC: 0.6981561285764748 AUPRC: 0.3426738805028874 Sensitivity: 0.6280701754385964 Specificity: 0.6664429530201342 Threshold: 0.16 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.10it/s]
Loss: 0.3996091324836016 AUROC: 0.7339303205323066 AUPRC: 0.36300315244783693 Sensitivity: 0.6666666666666666 Specificity: 0.6859154929577465 Threshold: 0.16 Accuracy: 0.6827640361209266 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0050.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4060478040150234 AUROC: 0.698165548098434 AUPRC: 0.3365190000989745 Sensitivity: 0.6350877192982456 Specificity: 0.6610738255033557 Threshold: 0.14 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.14it/s]
Loss: 0.40464973971247675 AUROC: 0.7347142004706095 AUPRC: 0.3633180868774246 Sensitivity: 0.6690647482014388 Specificity: 0.6800469483568075 Threshold: 0.14 Accuracy: 0.6782489202983902 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0051.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.06it/s]
Loss: 0.40396118802683695 AUROC: 0.6994913458141999 AUPRC: 0.34166135737313885 Sensitivity: 0.6491228070175439 Specificity: 0.640268456375839 Threshold: 0.16 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.14it/s]
Loss: 0.3984353173524141 AUROC: 0.7367829679918037 AUPRC: 0.3654008335292344 Sensitivity: 0.6942446043165468 Specificity: 0.6539906103286385 Threshold: 0.16 Accuracy: 0.660581075775422 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0052.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
Loss: 0.40672161536557333 AUROC: 0.6990085953137878 AUPRC: 0.3376543209358055 Sensitivity: 0.6175438596491228 Specificity: 0.6751677852348993 Threshold: 0.14 Accuracy: 0.6659154929577464 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.40506565272808076 AUROC: 0.7345057756611612 AUPRC: 0.362075448378095 Sensitivity: 0.6498800959232613 Specificity: 0.6934272300469484 Threshold: 0.14 Accuracy: 0.6862976050255202 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0053.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.42350934445858 AUROC: 0.6988578829624397 AUPRC: 0.336419807547155 Sensitivity: 0.6631578947368421 Specificity: 0.636241610738255 Threshold: 0.09 Accuracy: 0.6405633802816901 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.4229082692414522 AUROC: 0.7350387295797165 AUPRC: 0.36272007178178045 Sensitivity: 0.6990407673860911 Specificity: 0.6488262910798122 Threshold: 0.09 Accuracy: 0.6570475068708285 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0054.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.00it/s]
Loss: 0.40409958149705616 AUROC: 0.6992346638408101 AUPRC: 0.33578682336978644 Sensitivity: 0.6456140350877193 Specificity: 0.6577181208053692 Threshold: 0.15 Accuracy: 0.655774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.39954023621976376 AUROC: 0.7364418324495333 AUPRC: 0.36268438091256794 Sensitivity: 0.6678657074340527 Specificity: 0.6732394366197183 Threshold: 0.15 Accuracy: 0.6723596387907342 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0055.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.10it/s]
Loss: 0.41670200654438566 AUROC: 0.6993806664311786 AUPRC: 0.33951406765617165 Sensitivity: 0.6526315789473685 Specificity: 0.6483221476510067 Threshold: 0.11 Accuracy: 0.6490140845070422 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.41583111844956877 AUROC: 0.7345879634320713 AUPRC: 0.36061676511368684 Sensitivity: 0.6894484412470024 Specificity: 0.6605633802816901 Threshold: 0.11 Accuracy: 0.6652925009815469 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0056.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.03it/s]
Loss: 0.42868456670216154 AUROC: 0.6988955610502767 AUPRC: 0.32840928151225357 Sensitivity: 0.6456140350877193 Specificity: 0.6597315436241611 Threshold: 0.09 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.4303028844296932 AUROC: 0.7320950282027898 AUPRC: 0.3575486122191702 Sensitivity: 0.6606714628297362 Specificity: 0.6793427230046948 Threshold: 0.09 Accuracy: 0.6762858264625049 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0057.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4056484124490193 AUROC: 0.6984811020840693 AUPRC: 0.3344990178665517 Sensitivity: 0.6385964912280702 Specificity: 0.6557046979865772 Threshold: 0.14 Accuracy: 0.6529577464788733 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.04it/s]
Loss: 0.40181047916412355 AUROC: 0.7352460285292893 AUPRC: 0.36383473412234274 Sensitivity: 0.6810551558752997 Specificity: 0.6744131455399061 Threshold: 0.14 Accuracy: 0.6755005889281508 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0058.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.41109334783894674 AUROC: 0.6975838926174498 AUPRC: 0.3321463523759763 Sensitivity: 0.6175438596491228 Specificity: 0.6818791946308724 Threshold: 0.14 Accuracy: 0.6715492957746478 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.14it/s]
Loss: 0.4125492885708809 AUROC: 0.7318775965143379 AUPRC: 0.35763722638602824 Sensitivity: 0.6354916067146283 Specificity: 0.7065727699530516 Threshold: 0.14 Accuracy: 0.6949352179034158 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0059.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.4095330515078136 AUROC: 0.6976616036736135 AUPRC: 0.33534904622016065 Sensitivity: 0.6807017543859649 Specificity: 0.6100671140939598 Threshold: 0.12 Accuracy: 0.6214084507042253 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.40730957575142385 AUROC: 0.7352723455038785 AUPRC: 0.3630242914196528 Sensitivity: 0.6426858513189448 Specificity: 0.7023474178403756 Threshold: 0.13 Accuracy: 0.6925795053003534 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0060.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
Loss: 0.40532316054616657 AUROC: 0.6987189450135406 AUPRC: 0.3376548056084592 Sensitivity: 0.6701754385964912 Specificity: 0.6288590604026846 Threshold: 0.15 Accuracy: 0.6354929577464788 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.06it/s]
Loss: 0.40054150596261023 AUROC: 0.7370057475146643 AUPRC: 0.3649162968839251 Sensitivity: 0.6546762589928058 Specificity: 0.6936619718309859 Threshold: 0.16 Accuracy: 0.6872791519434629 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0061.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.42646001279354095 AUROC: 0.6977746379371247 AUPRC: 0.33410394207899574 Sensitivity: 0.624561403508772 Specificity: 0.674496644295302 Threshold: 0.1 Accuracy: 0.6664788732394367 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.06it/s]
Loss: 0.42716101855039595 AUROC: 0.7323214667702459 AUPRC: 0.3597912324611164 Sensitivity: 0.6462829736211031 Specificity: 0.6974178403755869 Threshold: 0.1 Accuracy: 0.6890459363957597 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0062.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4151658905403955 AUROC: 0.697541504768633 AUPRC: 0.3322600885019806 Sensitivity: 0.6526315789473685 Specificity: 0.6469798657718121 Threshold: 0.21 Accuracy: 0.647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.4045459900051355 AUROC: 0.737488319203792 AUPRC: 0.36277927856611114 Sensitivity: 0.6810551558752997 Specificity: 0.6624413145539906 Threshold: 0.21 Accuracy: 0.6654888103651354 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0063.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.42401014268398285 AUROC: 0.6985517484987638 AUPRC: 0.3356514631440185 Sensitivity: 0.6385964912280702 Specificity: 0.6550335570469799 Threshold: 0.1 Accuracy: 0.652394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.42481888420879843 AUROC: 0.7344228842278291 AUPRC: 0.3597094447149668 Sensitivity: 0.684652278177458 Specificity: 0.6645539906103286 Threshold: 0.1 Accuracy: 0.6678445229681979 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0064.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
Loss: 0.42431130579539705 AUROC: 0.6981278700105971 AUPRC: 0.3247341942890681 Sensitivity: 0.6701754385964912 Specificity: 0.6087248322147651 Threshold: 0.1 Accuracy: 0.6185915492957746 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.02it/s]
Loss: 0.4251794371753931 AUROC: 0.7349216401526666 AUPRC: 0.354836899163932 Sensitivity: 0.63189448441247 Specificity: 0.7105633802816902 Threshold: 0.11 Accuracy: 0.6976835492736553 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0065.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.40669349900313784 AUROC: 0.6992228894383611 AUPRC: 0.3350470608317308 Sensitivity: 0.6350877192982456 Specificity: 0.6624161073825503 Threshold: 0.13 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.08it/s]
Loss: 0.40170738026499747 AUROC: 0.7376398880895283 AUPRC: 0.36397759960906256 Sensitivity: 0.6654676258992805 Specificity: 0.676056338028169 Threshold: 0.13 Accuracy: 0.6743227326266196 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0066.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.4095217159816197 AUROC: 0.6986953962086424 AUPRC: 0.3262329965823388 Sensitivity: 0.6491228070175439 Specificity: 0.6503355704697986 Threshold: 0.18 Accuracy: 0.6501408450704226 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.03it/s]
Loss: 0.4048482421785593 AUROC: 0.7368614967181185 AUPRC: 0.3595550000520566 Sensitivity: 0.6738609112709832 Specificity: 0.6669014084507042 Threshold: 0.18 Accuracy: 0.6680408323517865 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0067.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.40724456097398487 AUROC: 0.6986129753914989 AUPRC: 0.33654773795165227 Sensitivity: 0.6456140350877193 Specificity: 0.6442953020134228 Threshold: 0.13 Accuracy: 0.6445070422535212 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.11it/s]
Loss: 0.40498713701963424 AUROC: 0.7367829679918037 AUPRC: 0.3647783356718854 Sensitivity: 0.6882494004796164 Specificity: 0.6596244131455399 Threshold: 0.13 Accuracy: 0.6643109540636042 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0068.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.07it/s]
Loss: 0.41211461808000294 AUROC: 0.6995007653361591 AUPRC: 0.3328067589721786 Sensitivity: 0.6526315789473685 Specificity: 0.6536912751677852 Threshold: 0.2 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.10it/s]
Loss: 0.40234430097043516 AUROC: 0.7376677531214465 AUPRC: 0.3643696932713662 Sensitivity: 0.6750599520383693 Specificity: 0.6711267605633803 Threshold: 0.2 Accuracy: 0.6717707106399686 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0069.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.4276946208306721 AUROC: 0.6968715412692805 AUPRC: 0.3275584377537508 Sensitivity: 0.624561403508772 Specificity: 0.6724832214765101 Threshold: 0.11 Accuracy: 0.6647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4279987119138241 AUROC: 0.7309493250470047 AUPRC: 0.35137631589657514 Sensitivity: 0.6534772182254197 Specificity: 0.6943661971830986 Threshold: 0.11 Accuracy: 0.68767177071064 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0070.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.41040220643792835 AUROC: 0.697948899093371 AUPRC: 0.3319333612247987 Sensitivity: 0.6491228070175439 Specificity: 0.6496644295302013 Threshold: 0.19 Accuracy: 0.6495774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4044895201921463 AUROC: 0.7371101710181152 AUPRC: 0.36227559436213247 Sensitivity: 0.6762589928057554 Specificity: 0.6664319248826291 Threshold: 0.19 Accuracy: 0.6680408323517865 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0071.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.40641736132758005 AUROC: 0.698255033557047 AUPRC: 0.32979287041092514 Sensitivity: 0.6385964912280702 Specificity: 0.6590604026845638 Threshold: 0.17 Accuracy: 0.655774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.3993505034595728 AUROC: 0.7374152790443701 AUPRC: 0.3630298831691191 Sensitivity: 0.6642685851318945 Specificity: 0.6788732394366197 Threshold: 0.17 Accuracy: 0.6764821358460934 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0072.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4114976205996105 AUROC: 0.6982644530790062 AUPRC: 0.3295781124986956 Sensitivity: 0.6701754385964912 Specificity: 0.6422818791946309 Threshold: 0.19 Accuracy: 0.6467605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.40739274993538854 AUROC: 0.7382702288873126 AUPRC: 0.36332531579650507 Sensitivity: 0.684652278177458 Specificity: 0.6593896713615024 Threshold: 0.19 Accuracy: 0.6635257165292501 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0073.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4216961009161813 AUROC: 0.6979983515836571 AUPRC: 0.3429967300640473 Sensitivity: 0.6631578947368421 Specificity: 0.6281879194630873 Threshold: 0.11 Accuracy: 0.6338028169014085 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4220617298036814 AUROC: 0.7322890982988257 AUPRC: 0.3570052788918978 Sensitivity: 0.697841726618705 Specificity: 0.6434272300469484 Threshold: 0.11 Accuracy: 0.6523360816647036 Intermediate Model: ./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0074.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.4118195665734155 AUROC: 0.6978052513834923 AUPRC: 0.3252326327643474 Sensitivity: 0.6666666666666666 Specificity: 0.6422818791946309 Threshold: 0.19 Accuracy: 0.6461971830985915 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.4047918446362019 AUROC: 0.7376653606692112 AUPRC: 0.36105149894700694 Sensitivity: 0.6834532374100719 Specificity: 0.6586854460093897 Threshold: 0.19 Accuracy: 0.662740478994896 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 54, 0.4031 Epoch with best model Test AUROC: 72, 0.7383 Epoch with best model Test Accuracy: 34, 0.7059
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 54, 0.4031
Best Model Based on Validation Loss:
./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0054.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.39954023621976376 AUROC: 0.7364418324495333 AUPRC: 0.36268438091256794 Sensitivity: 0.6678657074340527 Specificity: 0.6732394366197183 Threshold: 0.15 Accuracy: 0.6723596387907342
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.7364418324495333
best_model_val_test_auprc: 0.36268438091256794
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 72, 0.7383
Best Model Based on Model AUROC:
./vitaldb_cache/models/ABP_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_ad0d8b9b_0072.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.40739274993538854 AUROC: 0.7382702288873126 AUPRC: 0.36332531579650507 Sensitivity: 0.684652278177458 Specificity: 0.6593896713615024 Threshold: 0.19 Accuracy: 0.6635257165292501
best_model_auroc_test_auroc: 0.7382702288873126
best_model_auroc_test_auprc: 0.36332531579650507 Total Processing Time: 6425.5290 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=True,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b
prediction_window: 015
max_cases: _ALL
use_abp: True
use_eeg: True
use_ecg: False
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(abpResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(abpFc): Linear(in_features=2814, out_features=32, bias=True)
(eegResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
)
(eegFc): Linear(in_features=720, out_features=32, bias=True)
(fullLinear1): Linear(in_features=64, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.81it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 14:19:16.484150] Completed epoch 0 with training loss 0.43299252, validation loss 0.42436972 Validation loss improved to 0.42436972. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.81it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 14:20:06.757677] Completed epoch 1 with training loss 0.40656328, validation loss 0.41991648 Validation loss improved to 0.41991648. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 14:20:57.002024] Completed epoch 2 with training loss 0.39961162, validation loss 0.42685542 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 14:21:47.171678] Completed epoch 3 with training loss 0.39657268, validation loss 0.42491174 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 14:22:37.251969] Completed epoch 4 with training loss 0.39609534, validation loss 0.43260995 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.83it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
[2024-05-04 14:23:27.040853] Completed epoch 5 with training loss 0.39693204, validation loss 0.42953798 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 14:24:17.016667] Completed epoch 6 with training loss 0.39632326, validation loss 0.42082444 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.83it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 14:25:06.800295] Completed epoch 7 with training loss 0.39612883, validation loss 0.43149933 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.81it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 14:25:57.037944] Completed epoch 8 with training loss 0.39552733, validation loss 0.41584259 Validation loss improved to 0.41584259. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.80it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 14:26:47.557442] Completed epoch 9 with training loss 0.39368799, validation loss 0.42469853 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:45<00:00, 1.77it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 14:27:39.026271] Completed epoch 10 with training loss 0.39696151, validation loss 0.42758888 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:28:28.781307] Completed epoch 11 with training loss 0.39607811, validation loss 0.42492199 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:29:16.772282] Completed epoch 12 with training loss 0.39598331, validation loss 0.41934061 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:30:04.796377] Completed epoch 13 with training loss 0.39501119, validation loss 0.42271385 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:30:52.771750] Completed epoch 14 with training loss 0.39501089, validation loss 0.42494670 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
[2024-05-04 14:31:41.095386] Completed epoch 15 with training loss 0.39569598, validation loss 0.44269198 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:32:29.111899] Completed epoch 16 with training loss 0.39525142, validation loss 0.42399654 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:33:16.913665] Completed epoch 17 with training loss 0.39349350, validation loss 0.42028704 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:34:04.979858] Completed epoch 18 with training loss 0.39498296, validation loss 0.42418358 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:34:52.757370] Completed epoch 19 with training loss 0.39513761, validation loss 0.41829768 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 14:35:40.963363] Completed epoch 20 with training loss 0.39481172, validation loss 0.40860328 Validation loss improved to 0.40860328. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:36:29.031207] Completed epoch 21 with training loss 0.39596313, validation loss 0.41530627 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 14:37:16.877768] Completed epoch 22 with training loss 0.39428645, validation loss 0.42590958 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.86it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:38:05.685303] Completed epoch 23 with training loss 0.39414319, validation loss 0.42523557 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:38:53.569260] Completed epoch 24 with training loss 0.39444375, validation loss 0.41657004 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 14:39:41.845243] Completed epoch 25 with training loss 0.39486647, validation loss 0.41937563 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
[2024-05-04 14:40:29.887034] Completed epoch 26 with training loss 0.39541346, validation loss 0.41139880 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:41:17.660611] Completed epoch 27 with training loss 0.39459968, validation loss 0.40730506 Validation loss improved to 0.40730506. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 14:42:05.963941] Completed epoch 28 with training loss 0.39512378, validation loss 0.41373488 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.88it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
[2024-05-04 14:42:54.345447] Completed epoch 29 with training loss 0.39484271, validation loss 0.41507521 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
[2024-05-04 14:43:42.283376] Completed epoch 30 with training loss 0.39296928, validation loss 0.41263357 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 14:44:30.080582] Completed epoch 31 with training loss 0.39370519, validation loss 0.42609367 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 14:45:18.015436] Completed epoch 32 with training loss 0.39508826, validation loss 0.41890869 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.88it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
[2024-05-04 14:46:06.319503] Completed epoch 33 with training loss 0.39346227, validation loss 0.41989753 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:46:54.290894] Completed epoch 34 with training loss 0.39409399, validation loss 0.40983006 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:47:42.207694] Completed epoch 35 with training loss 0.39454064, validation loss 0.42097417 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:48:30.062511] Completed epoch 36 with training loss 0.39375293, validation loss 0.41255936 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:41<00:00, 1.91it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
[2024-05-04 14:49:17.697475] Completed epoch 37 with training loss 0.39418942, validation loss 0.40410632 Validation loss improved to 0.40410632. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
[2024-05-04 14:50:05.763779] Completed epoch 38 with training loss 0.39413151, validation loss 0.40720725 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 14:50:53.786745] Completed epoch 39 with training loss 0.39361471, validation loss 0.40780884 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
[2024-05-04 14:51:41.893170] Completed epoch 40 with training loss 0.39392638, validation loss 0.40560105 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:52:29.726748] Completed epoch 41 with training loss 0.39386719, validation loss 0.40491083 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 14:53:17.693959] Completed epoch 42 with training loss 0.39423186, validation loss 0.41225594 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 14:54:05.917995] Completed epoch 43 with training loss 0.39454716, validation loss 0.40586036 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
[2024-05-04 14:54:53.935771] Completed epoch 44 with training loss 0.39310926, validation loss 0.42581749 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.88it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 14:55:42.252804] Completed epoch 45 with training loss 0.39458129, validation loss 0.40404221 Validation loss improved to 0.40404221. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
[2024-05-04 14:56:30.308308] Completed epoch 46 with training loss 0.39399758, validation loss 0.40937296 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 14:57:18.337912] Completed epoch 47 with training loss 0.39311308, validation loss 0.40939385 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.87it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 14:58:06.971348] Completed epoch 48 with training loss 0.39469045, validation loss 0.40505454 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.84it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
[2024-05-04 14:58:56.470630] Completed epoch 49 with training loss 0.39510280, validation loss 0.40949222 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.84it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
[2024-05-04 14:59:45.897527] Completed epoch 50 with training loss 0.39367929, validation loss 0.40982747 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.85it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
[2024-05-04 15:00:35.071286] Completed epoch 51 with training loss 0.39319104, validation loss 0.41579238 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
[2024-05-04 15:01:25.112142] Completed epoch 52 with training loss 0.39421201, validation loss 0.40424067 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.84it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 15:02:14.445152] Completed epoch 53 with training loss 0.39399761, validation loss 0.42479390 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.85it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
[2024-05-04 15:03:03.611036] Completed epoch 54 with training loss 0.39274964, validation loss 0.43293145 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.85it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
[2024-05-04 15:03:52.987156] Completed epoch 55 with training loss 0.39404041, validation loss 0.41689798 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.86it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 15:04:42.065508] Completed epoch 56 with training loss 0.39332366, validation loss 0.42345873 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.82it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
[2024-05-04 15:05:32.001171] Completed epoch 57 with training loss 0.39482164, validation loss 0.41802689 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.83it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
[2024-05-04 15:06:21.610610] Completed epoch 58 with training loss 0.39458838, validation loss 0.41486332 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.79it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 15:07:12.324605] Completed epoch 59 with training loss 0.39399642, validation loss 0.40901858 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.81it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 15:08:02.852042] Completed epoch 60 with training loss 0.39500070, validation loss 0.45898440 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.80it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 15:08:53.493481] Completed epoch 61 with training loss 0.39338532, validation loss 0.41147327 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.80it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 15:09:44.259707] Completed epoch 62 with training loss 0.39434654, validation loss 0.40442792 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:44<00:00, 1.81it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 15:10:34.483795] Completed epoch 63 with training loss 0.39289430, validation loss 0.40726772 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.84it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
[2024-05-04 15:11:24.042024] Completed epoch 64 with training loss 0.39356971, validation loss 0.42115632 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:43<00:00, 1.83it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
[2024-05-04 15:12:13.867464] Completed epoch 65 with training loss 0.39461100, validation loss 0.41163680 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 45, 0.404
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.64it/s]
Loss: 0.4245825154440744 AUROC: 0.6871329330036501 AUPRC: 0.3158412573389842 Sensitivity: 0.6982456140350877 Specificity: 0.5892617449664429 Threshold: 0.13 Accuracy: 0.6067605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.424983149766922 AUROC: 0.7241798110807129 AUPRC: 0.34692229453436063 Sensitivity: 0.6223021582733813 Specificity: 0.7129107981220657 Threshold: 0.14 Accuracy: 0.6980761680408324 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.42076922953128815 AUROC: 0.6973342752855293 AUPRC: 0.3341250668294243 Sensitivity: 0.6631578947368421 Specificity: 0.6456375838926175 Threshold: 0.13 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.42015210203826425 AUROC: 0.7308643226264059 AUPRC: 0.35536236006661515 Sensitivity: 0.6882494004796164 Specificity: 0.6516431924882629 Threshold: 0.13 Accuracy: 0.6576364350215941 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4261827660458429 AUROC: 0.6981255151301071 AUPRC: 0.33987571046588166 Sensitivity: 0.6771929824561403 Specificity: 0.6261744966442953 Threshold: 0.11 Accuracy: 0.6343661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4264295767992735 AUROC: 0.7324199795093502 AUPRC: 0.359395682639761 Sensitivity: 0.7050359712230215 Specificity: 0.6356807511737089 Threshold: 0.11 Accuracy: 0.6470357283078131 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.4245948557342802 AUROC: 0.6988366890380313 AUPRC: 0.34108588677857443 Sensitivity: 0.6175438596491228 Specificity: 0.6785234899328859 Threshold: 0.12 Accuracy: 0.6687323943661971 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.42466086223721505 AUROC: 0.7336892457864694 AUPRC: 0.3613050083058403 Sensitivity: 0.6522781774580336 Specificity: 0.6962441314553991 Threshold: 0.12 Accuracy: 0.6890459363957597 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.4314325622149876 AUROC: 0.69783350994937 AUPRC: 0.340725246274632 Sensitivity: 0.6701754385964912 Specificity: 0.6322147651006711 Threshold: 0.1 Accuracy: 0.6383098591549295 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.43231446817517283 AUROC: 0.7330102115490706 AUPRC: 0.36128684504729924 Sensitivity: 0.7038369304556354 Specificity: 0.637793427230047 Threshold: 0.1 Accuracy: 0.6486062033765214 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4285196214914322 AUROC: 0.6977487342517368 AUPRC: 0.3392330556635423 Sensitivity: 0.6175438596491228 Specificity: 0.6798657718120805 Threshold: 0.11 Accuracy: 0.6698591549295775 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4299471080303192 AUROC: 0.7332300356897581 AUPRC: 0.36102016741866383 Sensitivity: 0.6486810551558753 Specificity: 0.6988262910798122 Threshold: 0.11 Accuracy: 0.690616411464468 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.420857093163899 AUROC: 0.6977510891322266 AUPRC: 0.33745527644755 Sensitivity: 0.6280701754385964 Specificity: 0.6664429530201342 Threshold: 0.13 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.41947851702570915 AUROC: 0.7336018509136353 AUPRC: 0.3603665602236543 Sensitivity: 0.670263788968825 Specificity: 0.6812206572769953 Threshold: 0.13 Accuracy: 0.6794267765999215 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
Loss: 0.42985270491668154 AUROC: 0.697082303073119 AUPRC: 0.338022145830514 Sensitivity: 0.6035087719298246 Specificity: 0.687248322147651 Threshold: 0.11 Accuracy: 0.6738028169014084 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4307585958391428 AUROC: 0.7326689352743158 AUPRC: 0.360757034485548 Sensitivity: 0.6390887290167866 Specificity: 0.710093896713615 Threshold: 0.11 Accuracy: 0.6984687868080094 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.41578709866319385 AUROC: 0.6971929824561404 AUPRC: 0.33678921148008795 Sensitivity: 0.6385964912280702 Specificity: 0.6624161073825503 Threshold: 0.15 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.41544696502387524 AUROC: 0.7329985307528626 AUPRC: 0.36016425012529907 Sensitivity: 0.6774580335731415 Specificity: 0.6746478873239437 Threshold: 0.15 Accuracy: 0.6751079701609737 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.42456284165382385 AUROC: 0.6966654892264218 AUPRC: 0.3412478875387347 Sensitivity: 0.624561403508772 Specificity: 0.6684563758389261 Threshold: 0.12 Accuracy: 0.6614084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.4253922667354345 AUROC: 0.7322712252733026 AUPRC: 0.360035735726881 Sensitivity: 0.6606714628297362 Specificity: 0.6936619718309859 Threshold: 0.12 Accuracy: 0.6882606988614056 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
Loss: 0.42713548243045807 AUROC: 0.6963134345931945 AUPRC: 0.3407606319672188 Sensitivity: 0.6631578947368421 Specificity: 0.6322147651006711 Threshold: 0.11 Accuracy: 0.6371830985915493 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.4289887323975563 AUROC: 0.7314145866405467 AUPRC: 0.35860149731470303 Sensitivity: 0.6990407673860911 Specificity: 0.6474178403755868 Threshold: 0.11 Accuracy: 0.6558696505692972 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.32it/s]
Loss: 0.4232297773872103 AUROC: 0.6965124219945837 AUPRC: 0.3426889244100334 Sensitivity: 0.6701754385964912 Specificity: 0.6288590604026846 Threshold: 0.12 Accuracy: 0.6354929577464788 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.42507121339440346 AUROC: 0.7315885319913084 AUPRC: 0.35858270681569177 Sensitivity: 0.7026378896882494 Specificity: 0.6417840375586854 Threshold: 0.12 Accuracy: 0.651747153513938 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.42161584964820314 AUROC: 0.6967855881314025 AUPRC: 0.3404852941383125 Sensitivity: 0.624561403508772 Specificity: 0.6657718120805369 Threshold: 0.13 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4209995470941067 AUROC: 0.7320211436484615 AUPRC: 0.35858420301846733 Sensitivity: 0.6654676258992805 Specificity: 0.6833333333333333 Threshold: 0.13 Accuracy: 0.6804083235178642 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4214271626302174 AUROC: 0.6966961026727895 AUPRC: 0.3408817563670314 Sensitivity: 0.6666666666666666 Specificity: 0.6261744966442953 Threshold: 0.12 Accuracy: 0.6326760563380281 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.42225329875946044 AUROC: 0.7317396786795916 AUPRC: 0.35871405690323377 Sensitivity: 0.7050359712230215 Specificity: 0.6415492957746479 Threshold: 0.12 Accuracy: 0.6519434628975265 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4253803938627243 AUROC: 0.6966019074531968 AUPRC: 0.34322074186535045 Sensitivity: 0.6140350877192983 Specificity: 0.6791946308724832 Threshold: 0.12 Accuracy: 0.6687323943661971 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.4256772555410862 AUROC: 0.7312329010031411 AUPRC: 0.357993790658383 Sensitivity: 0.6378896882494005 Specificity: 0.7023474178403756 Threshold: 0.12 Accuracy: 0.6917942677659992 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.32it/s]
Loss: 0.4445871114730835 AUROC: 0.6960414458966208 AUPRC: 0.3433081654468243 Sensitivity: 0.6035087719298246 Specificity: 0.6791946308724832 Threshold: 0.09 Accuracy: 0.6670422535211268 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.446126201748848 AUROC: 0.7304190450456536 AUPRC: 0.357383547530849 Sensitivity: 0.6378896882494005 Specificity: 0.7023474178403756 Threshold: 0.09 Accuracy: 0.6917942677659992 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4242941864899227 AUROC: 0.6965147768750737 AUPRC: 0.3377615868019736 Sensitivity: 0.6736842105263158 Specificity: 0.6187919463087248 Threshold: 0.11 Accuracy: 0.6276056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.42515424974262717 AUROC: 0.7309867598878643 AUPRC: 0.35735060258597146 Sensitivity: 0.7122302158273381 Specificity: 0.636150234741784 Threshold: 0.11 Accuracy: 0.6486062033765214 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4202090586934771 AUROC: 0.6967738137289532 AUPRC: 0.33799857542083417 Sensitivity: 0.6456140350877193 Specificity: 0.6630872483221476 Threshold: 0.12 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4208466548472643 AUROC: 0.7311075083595097 AUPRC: 0.3580475525366427 Sensitivity: 0.6666666666666666 Specificity: 0.6762910798122066 Threshold: 0.12 Accuracy: 0.6747153513937966 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.4240147279841559 AUROC: 0.6964535499823383 AUPRC: 0.33773741798294 Sensitivity: 0.6666666666666666 Specificity: 0.6335570469798658 Threshold: 0.11 Accuracy: 0.6388732394366197 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.4259326111525297 AUROC: 0.7303793584850429 AUPRC: 0.3559262246895499 Sensitivity: 0.6918465227817746 Specificity: 0.6511737089201878 Threshold: 0.11 Accuracy: 0.6578327444051826 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4179492635386331 AUROC: 0.6973083716001414 AUPRC: 0.33929294636762564 Sensitivity: 0.656140350877193 Specificity: 0.6563758389261745 Threshold: 0.12 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.41784732416272163 AUROC: 0.731209539410725 AUPRC: 0.35787009004451564 Sensitivity: 0.6738609112709832 Specificity: 0.6706572769953052 Threshold: 0.12 Accuracy: 0.671181782489203 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4075357956545694 AUROC: 0.6980242552690451 AUPRC: 0.3400699261490726 Sensitivity: 0.6666666666666666 Specificity: 0.6308724832214765 Threshold: 0.14 Accuracy: 0.6366197183098592 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4072968803346157 AUROC: 0.7323020456873939 AUPRC: 0.35989279385360795 Sensitivity: 0.6438848920863309 Specificity: 0.7046948356807512 Threshold: 0.15 Accuracy: 0.6947389085198272 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.41519085850034443 AUROC: 0.6969739785705875 AUPRC: 0.33607647465430485 Sensitivity: 0.6736842105263158 Specificity: 0.6120805369127517 Threshold: 0.14 Accuracy: 0.6219718309859155 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.4152336049824953 AUROC: 0.7307520181038268 AUPRC: 0.3570375419493672 Sensitivity: 0.7146282973621103 Specificity: 0.6347417840375587 Threshold: 0.14 Accuracy: 0.6478209658421673 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.42624883353710175 AUROC: 0.6965642293653597 AUPRC: 0.33750105038978917 Sensitivity: 0.5964912280701754 Specificity: 0.6859060402684564 Threshold: 0.11 Accuracy: 0.6715492957746478 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.42786691822111605 AUROC: 0.7301546087074002 AUPRC: 0.356181879403699 Sensitivity: 0.6282973621103117 Specificity: 0.7131455399061033 Threshold: 0.11 Accuracy: 0.6992540243423636 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4252057096787861 AUROC: 0.6955634051571883 AUPRC: 0.33051599698876505 Sensitivity: 0.6912280701754386 Specificity: 0.5946308724832214 Threshold: 0.11 Accuracy: 0.6101408450704225 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.4264670357108116 AUROC: 0.729551429279112 AUPRC: 0.3541726794707162 Sensitivity: 0.7266187050359713 Specificity: 0.6206572769953052 Threshold: 0.11 Accuracy: 0.6380054966627405 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4178503709180014 AUROC: 0.6970563993877311 AUPRC: 0.3353048858336619 Sensitivity: 0.6771929824561403 Specificity: 0.6087248322147651 Threshold: 0.12 Accuracy: 0.6197183098591549 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.41833796389400957 AUROC: 0.7307083910336519 AUPRC: 0.3567250957818727 Sensitivity: 0.7146282973621103 Specificity: 0.631924882629108 Threshold: 0.12 Accuracy: 0.6454652532391049 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.41828104640756336 AUROC: 0.69732485576357 AUPRC: 0.33488479581847264 Sensitivity: 0.6350877192982456 Specificity: 0.6630872483221476 Threshold: 0.11 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.41877940073609354 AUROC: 0.7311046937098209 AUPRC: 0.3577670803509322 Sensitivity: 0.6606714628297362 Specificity: 0.6795774647887324 Threshold: 0.11 Accuracy: 0.6764821358460934 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.4120425986392157 AUROC: 0.6970658189096903 AUPRC: 0.3370460172281301 Sensitivity: 0.6140350877192983 Specificity: 0.6778523489932886 Threshold: 0.14 Accuracy: 0.6676056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.41143285147845743 AUROC: 0.7309774715438917 AUPRC: 0.35789904616414325 Sensitivity: 0.6426858513189448 Specificity: 0.7002347417840376 Threshold: 0.14 Accuracy: 0.6908127208480566 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.40785418663706097 AUROC: 0.6992064052749323 AUPRC: 0.3370559160087892 Sensitivity: 0.656140350877193 Specificity: 0.6510067114093959 Threshold: 0.14 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.40540231168270113 AUROC: 0.7339643777935397 AUPRC: 0.3612055907806974 Sensitivity: 0.6882494004796164 Specificity: 0.6607981220657277 Threshold: 0.14 Accuracy: 0.6652925009815469 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.41391395032405853 AUROC: 0.6990792417284822 AUPRC: 0.33467779066563674 Sensitivity: 0.6666666666666666 Specificity: 0.636241610738255 Threshold: 0.13 Accuracy: 0.6411267605633802 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.412836330384016 AUROC: 0.7328582204658808 AUPRC: 0.3588052296611114 Sensitivity: 0.6918465227817746 Specificity: 0.6485915492957747 Threshold: 0.13 Accuracy: 0.6556733411857086 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.41368335272584644 AUROC: 0.698179677381373 AUPRC: 0.335066359532073 Sensitivity: 0.6666666666666666 Specificity: 0.6382550335570469 Threshold: 0.12 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.41362915001809597 AUROC: 0.7315837470868376 AUPRC: 0.3568748311598734 Sensitivity: 0.6834532374100719 Specificity: 0.6530516431924883 Threshold: 0.12 Accuracy: 0.6580290537887711 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
Loss: 0.41307283299309866 AUROC: 0.6979135758860238 AUPRC: 0.3350908813138368 Sensitivity: 0.6736842105263158 Specificity: 0.625503355704698 Threshold: 0.13 Accuracy: 0.6332394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.41248998381197455 AUROC: 0.731208272818365 AUPRC: 0.3571479435793826 Sensitivity: 0.7014388489208633 Specificity: 0.639906103286385 Threshold: 0.13 Accuracy: 0.6499803690616411 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.42494217519249233 AUROC: 0.7002896503002473 AUPRC: 0.3399416733492331 Sensitivity: 0.6280701754385964 Specificity: 0.661744966442953 Threshold: 0.1 Accuracy: 0.6563380281690141 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.45it/s]
Loss: 0.42534564174711703 AUROC: 0.7339901318381914 AUPRC: 0.3605466319747809 Sensitivity: 0.6690647482014388 Specificity: 0.681924882629108 Threshold: 0.1 Accuracy: 0.6798193953670986 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.4178836303097861 AUROC: 0.6964017426115624 AUPRC: 0.33076977231996973 Sensitivity: 0.631578947368421 Specificity: 0.661744966442953 Threshold: 0.13 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.43it/s]
Loss: 0.41727231033146384 AUROC: 0.7294882403936006 AUPRC: 0.352878459437689 Sensitivity: 0.6510791366906474 Specificity: 0.6807511737089202 Threshold: 0.13 Accuracy: 0.6758932076953278 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
Loss: 0.41929677980286734 AUROC: 0.6965689391263393 AUPRC: 0.340690515723878 Sensitivity: 0.6526315789473685 Specificity: 0.6503355704697986 Threshold: 0.11 Accuracy: 0.6507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.41784888654947283 AUROC: 0.7305509113835692 AUPRC: 0.3563213973787574 Sensitivity: 0.6738609112709832 Specificity: 0.6647887323943662 Threshold: 0.11 Accuracy: 0.6662740478994896 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.49it/s]
Loss: 0.41013174397604807 AUROC: 0.698203226186271 AUPRC: 0.33849179780232586 Sensitivity: 0.6736842105263158 Specificity: 0.6308724832214765 Threshold: 0.14 Accuracy: 0.6377464788732394 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:15<00:00, 2.51it/s]
Loss: 0.40721556134521963 AUROC: 0.7321524470564393 AUPRC: 0.3598192266037933 Sensitivity: 0.6954436450839329 Specificity: 0.6448356807511737 Threshold: 0.14 Accuracy: 0.6531213191990577 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
Loss: 0.41958213065351757 AUROC: 0.6959425409160485 AUPRC: 0.34236321241096657 Sensitivity: 0.6771929824561403 Specificity: 0.6201342281879194 Threshold: 0.1 Accuracy: 0.6292957746478873 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.41861975751817226 AUROC: 0.7304863151732136 AUPRC: 0.3566219780028161 Sensitivity: 0.7062350119904077 Specificity: 0.6392018779342723 Threshold: 0.1 Accuracy: 0.6501766784452296 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4121375190360205 AUROC: 0.6994159896385259 AUPRC: 0.3392864861925136 Sensitivity: 0.6350877192982456 Specificity: 0.6624161073825503 Threshold: 0.2 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.4044652730226517 AUROC: 0.7370267166548452 AUPRC: 0.365180268329175 Sensitivity: 0.6714628297362111 Specificity: 0.6774647887323944 Threshold: 0.2 Accuracy: 0.6764821358460934 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.404655750308718 AUROC: 0.6998068997998351 AUPRC: 0.34264122476177644 Sensitivity: 0.624561403508772 Specificity: 0.6731543624161074 Threshold: 0.15 Accuracy: 0.6653521126760563 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4010766014456749 AUROC: 0.7350195899618333 AUPRC: 0.3629984338963738 Sensitivity: 0.657074340527578 Specificity: 0.6929577464788732 Threshold: 0.15 Accuracy: 0.6870828425598744 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4071846753358841 AUROC: 0.6982715177204757 AUPRC: 0.3349328239982149 Sensitivity: 0.656140350877193 Specificity: 0.6395973154362417 Threshold: 0.15 Accuracy: 0.6422535211267606 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.4068899303674698 AUROC: 0.7338443329843168 AUPRC: 0.36038679566107007 Sensitivity: 0.6918465227817746 Specificity: 0.6539906103286385 Threshold: 0.15 Accuracy: 0.660188457008245 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4071096990789686 AUROC: 0.6985941363475805 AUPRC: 0.3420664691288544 Sensitivity: 0.6421052631578947 Specificity: 0.6570469798657718 Threshold: 0.18 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.40107125863432885 AUROC: 0.735520316141453 AUPRC: 0.3639807064234287 Sensitivity: 0.6822541966426858 Specificity: 0.673943661971831 Threshold: 0.18 Accuracy: 0.6753042795445622 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
Loss: 0.4058120378426143 AUROC: 0.6995219592605675 AUPRC: 0.3358100708427076 Sensitivity: 0.6666666666666666 Specificity: 0.6295302013422819 Threshold: 0.17 Accuracy: 0.6354929577464788 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.3993694569915533 AUROC: 0.7376256741086005 AUPRC: 0.364241545966003 Sensitivity: 0.6474820143884892 Specificity: 0.6976525821596244 Threshold: 0.18 Accuracy: 0.6894385551629368 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4061742637838636 AUROC: 0.6986459437183563 AUPRC: 0.34102261981032417 Sensitivity: 0.6807017543859649 Specificity: 0.6167785234899329 Threshold: 0.16 Accuracy: 0.6270422535211267 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4020279377698898 AUROC: 0.7333029351166953 AUPRC: 0.36178480515177686 Sensitivity: 0.6426858513189448 Specificity: 0.7028169014084507 Threshold: 0.17 Accuracy: 0.6929721240675304 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4124713348490851 AUROC: 0.6998186742022843 AUPRC: 0.34327567885290966 Sensitivity: 0.6596491228070176 Specificity: 0.6463087248322148 Threshold: 0.11 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4103280879557133 AUROC: 0.7339460825705632 AUPRC: 0.36126226185010707 Sensitivity: 0.6858513189448441 Specificity: 0.6591549295774648 Threshold: 0.11 Accuracy: 0.6635257165292501 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4061164068324225 AUROC: 0.6999411279877545 AUPRC: 0.345348043456383 Sensitivity: 0.6526315789473685 Specificity: 0.6429530201342282 Threshold: 0.13 Accuracy: 0.6445070422535212 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.37it/s]
Loss: 0.4031822498887777 AUROC: 0.7341529593226828 AUPRC: 0.36224468045256725 Sensitivity: 0.6966426858513189 Specificity: 0.6497652582159624 Threshold: 0.13 Accuracy: 0.6574401256380055 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.42653248991285053 AUROC: 0.6997291887436712 AUPRC: 0.33333868598684485 Sensitivity: 0.6456140350877193 Specificity: 0.6550335570469799 Threshold: 0.09 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4273447509855032 AUROC: 0.7339213136533027 AUPRC: 0.35905619428067126 Sensitivity: 0.6714628297362111 Specificity: 0.677699530516432 Threshold: 0.09 Accuracy: 0.676678445229682 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0045.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.40378875604697634 AUROC: 0.6984893441657836 AUPRC: 0.335484106543246 Sensitivity: 0.6350877192982456 Specificity: 0.6590604026845638 Threshold: 0.15 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.3969287659972906 AUROC: 0.737732630796771 AUPRC: 0.3649217752953224 Sensitivity: 0.6642685851318945 Specificity: 0.6786384976525821 Threshold: 0.15 Accuracy: 0.6762858264625049 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0046.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
Loss: 0.40799921112401144 AUROC: 0.6981184504886377 AUPRC: 0.3343959082411299 Sensitivity: 0.6807017543859649 Specificity: 0.6114093959731544 Threshold: 0.13 Accuracy: 0.6225352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4094430111348629 AUROC: 0.7337566566465138 AUPRC: 0.3613256992470484 Sensitivity: 0.7170263788968825 Specificity: 0.6223004694835681 Threshold: 0.13 Accuracy: 0.6378091872791519 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0047.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.40785992571285795 AUROC: 0.6985281996938656 AUPRC: 0.3350120772689553 Sensitivity: 0.6631578947368421 Specificity: 0.6248322147651006 Threshold: 0.13 Accuracy: 0.6309859154929578 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.40305305942893027 AUROC: 0.7384779500343387 AUPRC: 0.36396038324674473 Sensitivity: 0.7134292565947242 Specificity: 0.6326291079812206 Threshold: 0.13 Accuracy: 0.6458578720062819 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0048.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
Loss: 0.40554586904389517 AUROC: 0.6980901919227599 AUPRC: 0.34089828840783865 Sensitivity: 0.6456140350877193 Specificity: 0.6597315436241611 Threshold: 0.17 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.3973755333572626 AUROC: 0.7382764211166277 AUPRC: 0.365180613920951 Sensitivity: 0.6822541966426858 Specificity: 0.6727699530516432 Threshold: 0.17 Accuracy: 0.6743227326266196 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0049.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.4101185330322811 AUROC: 0.6977204756858589 AUPRC: 0.3279465349929623 Sensitivity: 0.656140350877193 Specificity: 0.6369127516778523 Threshold: 0.17 Accuracy: 0.64 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.44it/s]
Loss: 0.40584607012569907 AUROC: 0.7362729534682113 AUPRC: 0.36258113989881235 Sensitivity: 0.6906474820143885 Specificity: 0.652112676056338 Threshold: 0.17 Accuracy: 0.6584216725559482 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0050.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.41031243332794737 AUROC: 0.6984599081596609 AUPRC: 0.33053647018103083 Sensitivity: 0.6456140350877193 Specificity: 0.6523489932885906 Threshold: 0.13 Accuracy: 0.6512676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.41002492532134055 AUROC: 0.7340271444815979 AUPRC: 0.3615885127718425 Sensitivity: 0.6798561151079137 Specificity: 0.6643192488262911 Threshold: 0.13 Accuracy: 0.6668629760502552 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0051.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4169694312981197 AUROC: 0.6984057459083951 AUPRC: 0.3375204682793085 Sensitivity: 0.6280701754385964 Specificity: 0.6651006711409396 Threshold: 0.11 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.48it/s]
Loss: 0.41641843020915986 AUROC: 0.732535098681618 AUPRC: 0.35878570938202337 Sensitivity: 0.657074340527578 Specificity: 0.6884976525821597 Threshold: 0.11 Accuracy: 0.6833529642716922 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0052.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4044227578810283 AUROC: 0.6979771576592487 AUPRC: 0.34036330050070107 Sensitivity: 0.6526315789473685 Specificity: 0.6476510067114094 Threshold: 0.14 Accuracy: 0.6484507042253521 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.4000741306692362 AUROC: 0.7356763884666915 AUPRC: 0.36488277906809563 Sensitivity: 0.6930455635491607 Specificity: 0.6572769953051644 Threshold: 0.14 Accuracy: 0.6631330977620731 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0053.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.4250538583312716 AUROC: 0.699809254680325 AUPRC: 0.33919709122455227 Sensitivity: 0.6350877192982456 Specificity: 0.6651006711409396 Threshold: 0.09 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.37it/s]
Loss: 0.42384179793298243 AUROC: 0.7342016527622971 AUPRC: 0.3622082319008627 Sensitivity: 0.6630695443645084 Specificity: 0.6859154929577465 Threshold: 0.09 Accuracy: 0.682175107970161 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0054.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
Loss: 0.4327816367149353 AUROC: 0.6983303897327211 AUPRC: 0.3332040841665813 Sensitivity: 0.6456140350877193 Specificity: 0.6630872483221476 Threshold: 0.09 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4334256313741207 AUROC: 0.7336418189392149 AUPRC: 0.3593775481080229 Sensitivity: 0.670263788968825 Specificity: 0.6828638497652583 Threshold: 0.09 Accuracy: 0.6808009422850412 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0055.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4166760593652725 AUROC: 0.698318615330272 AUPRC: 0.3314084610172525 Sensitivity: 0.6596491228070176 Specificity: 0.6456375838926175 Threshold: 0.15 Accuracy: 0.647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4178778599947691 AUROC: 0.7322595444770943 AUPRC: 0.3539157318447854 Sensitivity: 0.684652278177458 Specificity: 0.6615023474178404 Threshold: 0.15 Accuracy: 0.6652925009815469 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0056.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4236697937761034 AUROC: 0.6955681149181678 AUPRC: 0.3262750239617742 Sensitivity: 0.631578947368421 Specificity: 0.6671140939597315 Threshold: 0.13 Accuracy: 0.6614084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.41it/s]
Loss: 0.4255797673016787 AUROC: 0.7297034203623017 AUPRC: 0.3486489580261132 Sensitivity: 0.6522781774580336 Specificity: 0.6863849765258216 Threshold: 0.13 Accuracy: 0.6808009422850412 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0057.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.41760071899209705 AUROC: 0.6925821264570824 AUPRC: 0.32754420241859894 Sensitivity: 0.6421052631578947 Specificity: 0.6429530201342282 Threshold: 0.12 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.41782367751002314 AUROC: 0.7378711115614551 AUPRC: 0.36093391787816287 Sensitivity: 0.6786570743405276 Specificity: 0.655868544600939 Threshold: 0.12 Accuracy: 0.6595995288574794 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0058.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4144883815731321 AUROC: 0.6989120452137053 AUPRC: 0.3377262464931947 Sensitivity: 0.631578947368421 Specificity: 0.6664429530201342 Threshold: 0.13 Accuracy: 0.6608450704225353 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.4131011925637722 AUROC: 0.7342737077943279 AUPRC: 0.3608936773051314 Sensitivity: 0.6690647482014388 Specificity: 0.6814553990610329 Threshold: 0.13 Accuracy: 0.6794267765999215 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0059.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.39it/s]
Loss: 0.41007634145872934 AUROC: 0.6963263864358884 AUPRC: 0.33346271102977343 Sensitivity: 0.656140350877193 Specificity: 0.6214765100671141 Threshold: 0.14 Accuracy: 0.6270422535211267 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.39it/s]
Loss: 0.40461837984621524 AUROC: 0.7381190821990294 AUPRC: 0.36335766863642466 Sensitivity: 0.645083932853717 Specificity: 0.7075117370892019 Threshold: 0.15 Accuracy: 0.6972909305064782 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0060.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.4593232295342854 AUROC: 0.6986176851524786 AUPRC: 0.3315570943841276 Sensitivity: 0.6491228070175439 Specificity: 0.6503355704697986 Threshold: 0.32 Accuracy: 0.6501408450704226 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.44473008438944817 AUROC: 0.7367088019725064 AUPRC: 0.36248449781039915 Sensitivity: 0.6738609112709832 Specificity: 0.6713615023474179 Threshold: 0.32 Accuracy: 0.6717707106399686 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0061.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
Loss: 0.41062817190374645 AUROC: 0.6985140704109266 AUPRC: 0.33973657254336065 Sensitivity: 0.6526315789473685 Specificity: 0.6395973154362417 Threshold: 0.13 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.4076663114130497 AUROC: 0.7381300593328154 AUPRC: 0.36532934695627406 Sensitivity: 0.6882494004796164 Specificity: 0.6542253521126761 Threshold: 0.13 Accuracy: 0.6597958382410679 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0062.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4052552282810211 AUROC: 0.698052513834923 AUPRC: 0.3381753289652224 Sensitivity: 0.6350877192982456 Specificity: 0.663758389261745 Threshold: 0.17 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.41it/s]
Loss: 0.39721145778894423 AUROC: 0.7378249513065603 AUPRC: 0.36522705827635443 Sensitivity: 0.6618705035971223 Specificity: 0.6847417840375587 Threshold: 0.17 Accuracy: 0.6809972516686298 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0063.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
Loss: 0.4067698121070862 AUROC: 0.6962557400211938 AUPRC: 0.3300518340107547 Sensitivity: 0.6210526315789474 Specificity: 0.6798657718120805 Threshold: 0.17 Accuracy: 0.6704225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.40334725975990293 AUROC: 0.7382032402247217 AUPRC: 0.36324409916267053 Sensitivity: 0.6498800959232613 Specificity: 0.6971830985915493 Threshold: 0.17 Accuracy: 0.6894385551629368 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0064.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
Loss: 0.4210286076579775 AUROC: 0.6957941834451901 AUPRC: 0.3288725244062738 Sensitivity: 0.6701754385964912 Specificity: 0.640268456375839 Threshold: 0.13 Accuracy: 0.6450704225352113 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.42it/s]
Loss: 0.42257190868258476 AUROC: 0.730779601670776 AUPRC: 0.35423414808448905 Sensitivity: 0.6738609112709832 Specificity: 0.6593896713615024 Threshold: 0.13 Accuracy: 0.6617589320769532 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0065.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
Loss: 0.4109899933849062 AUROC: 0.6977298952078183 AUPRC: 0.3418027210756336 Sensitivity: 0.6596491228070176 Specificity: 0.6241610738255033 Threshold: 0.12 Accuracy: 0.6298591549295774 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.46it/s]
Loss: 0.40726362355053425 AUROC: 0.7364905258891479 AUPRC: 0.36442658050925175 Sensitivity: 0.7062350119904077 Specificity: 0.6354460093896713 Threshold: 0.12 Accuracy: 0.6470357283078131 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 45, 0.404 Epoch with best model Test AUROC: 47, 0.7385 Epoch with best model Test Accuracy: 22, 0.6993
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 45, 0.404
Best Model Based on Validation Loss:
./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0045.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.38it/s]
Loss: 0.3969287659972906 AUROC: 0.737732630796771 AUPRC: 0.3649217752953224 Sensitivity: 0.6642685851318945 Specificity: 0.6786384976525821 Threshold: 0.15 Accuracy: 0.6762858264625049
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.737732630796771
best_model_val_test_auprc: 0.3649217752953224
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 47, 0.7385
Best Model Based on Model AUROC:
./vitaldb_cache/models/ABP_EEG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_4c527f9b_0047.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:16<00:00, 2.40it/s]
Loss: 0.40305305942893027 AUROC: 0.7384779500343387 AUPRC: 0.36396038324674473 Sensitivity: 0.7134292565947242 Specificity: 0.6326291079812206 Threshold: 0.13 Accuracy: 0.6458578720062819
best_model_auroc_test_auroc: 0.7384779500343387
best_model_auroc_test_auprc: 0.36396038324674473 Total Processing Time: 4828.9950 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=False,
useEeg=True,
useEcg=True,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d
prediction_window: 015
max_cases: _ALL
use_abp: False
use_eeg: True
use_ecg: True
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(ecgResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(ecgFc): Linear(in_features=2814, out_features=32, bias=True)
(eegResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
)
(eegFc): Linear(in_features=720, out_features=32, bias=True)
(fullLinear1): Linear(in_features=64, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.88it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 15:39:43.607900] Completed epoch 0 with training loss 0.47759277, validation loss 0.48341626 Validation loss improved to 0.48341626. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 15:40:31.583238] Completed epoch 1 with training loss 0.45718202, validation loss 0.47720009 Validation loss improved to 0.47720009. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:41:19.554819] Completed epoch 2 with training loss 0.45581597, validation loss 0.47240219 Validation loss improved to 0.47240219. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 15:42:07.738252] Completed epoch 3 with training loss 0.45171013, validation loss 0.46912676 Validation loss improved to 0.46912676. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 15:42:55.743252] Completed epoch 4 with training loss 0.44971853, validation loss 0.46825013 Validation loss improved to 0.46825013. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 15:43:43.844071] Completed epoch 5 with training loss 0.44892043, validation loss 0.46432605 Validation loss improved to 0.46432605. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
[2024-05-04 15:44:31.816539] Completed epoch 6 with training loss 0.44778243, validation loss 0.46210024 Validation loss improved to 0.46210024. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:45:19.899470] Completed epoch 7 with training loss 0.44609165, validation loss 0.46128020 Validation loss improved to 0.46128020. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.92it/s]
[2024-05-04 15:46:09.721455] Completed epoch 8 with training loss 0.44433504, validation loss 0.46066871 Validation loss improved to 0.46066871. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.46it/s]
[2024-05-04 15:46:57.540463] Completed epoch 9 with training loss 0.44377351, validation loss 0.45777193 Validation loss improved to 0.45777193. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.40it/s]
[2024-05-04 15:47:45.645267] Completed epoch 10 with training loss 0.44432458, validation loss 0.45922732 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:48:33.637288] Completed epoch 11 with training loss 0.44267330, validation loss 0.45977718 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:49:21.639263] Completed epoch 12 with training loss 0.44368523, validation loss 0.45649102 Validation loss improved to 0.45649102. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 15:50:09.750838] Completed epoch 13 with training loss 0.44254375, validation loss 0.45661703 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.47it/s]
[2024-05-04 15:50:57.655216] Completed epoch 14 with training loss 0.44144458, validation loss 0.45602846 Validation loss improved to 0.45602846. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:51:45.946838] Completed epoch 15 with training loss 0.44272166, validation loss 0.45458245 Validation loss improved to 0.45458245. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
[2024-05-04 15:52:33.896258] Completed epoch 16 with training loss 0.44165507, validation loss 0.45631614 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.87it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 15:53:22.547743] Completed epoch 17 with training loss 0.44077605, validation loss 0.45553398 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.44it/s]
[2024-05-04 15:54:10.765660] Completed epoch 18 with training loss 0.44102487, validation loss 0.45828894 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 15:54:58.781346] Completed epoch 19 with training loss 0.44231644, validation loss 0.45513892 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.38it/s]
[2024-05-04 15:55:47.113477] Completed epoch 20 with training loss 0.44073552, validation loss 0.45570758 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
[2024-05-04 15:56:35.230080] Completed epoch 21 with training loss 0.44084033, validation loss 0.45901194 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.90it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 15:57:23.156013] Completed epoch 22 with training loss 0.44114083, validation loss 0.45404449 Validation loss improved to 0.45404449. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.88it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.45it/s]
[2024-05-04 15:58:11.477805] Completed epoch 23 with training loss 0.44082299, validation loss 0.45592996 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:42<00:00, 1.89it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 15:59:00.067890] Completed epoch 24 with training loss 0.43961257, validation loss 0.45362648 Validation loss improved to 0.45362648. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.66it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
[2024-05-04 15:59:54.388673] Completed epoch 25 with training loss 0.44068918, validation loss 0.45488876 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.68it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.34it/s]
[2024-05-04 16:00:48.176260] Completed epoch 26 with training loss 0.44081122, validation loss 0.45482969 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.65it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 16:01:42.880919] Completed epoch 27 with training loss 0.44003171, validation loss 0.45208177 Validation loss improved to 0.45208177. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.64it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 16:02:37.960580] Completed epoch 28 with training loss 0.44031906, validation loss 0.45570675 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 16:03:31.653109] Completed epoch 29 with training loss 0.44010419, validation loss 0.45472080 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.66it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.41it/s]
[2024-05-04 16:04:25.781954] Completed epoch 30 with training loss 0.43902731, validation loss 0.45468166 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.64it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 16:05:20.706776] Completed epoch 31 with training loss 0.43964499, validation loss 0.45264521 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.68it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 16:06:14.399433] Completed epoch 32 with training loss 0.43899250, validation loss 0.45421442 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.72it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 16:07:07.190305] Completed epoch 33 with training loss 0.43935791, validation loss 0.45504680 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.70it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 16:08:00.461841] Completed epoch 34 with training loss 0.43977767, validation loss 0.45509210 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.70it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.36it/s]
[2024-05-04 16:08:53.542073] Completed epoch 35 with training loss 0.43962517, validation loss 0.45534405 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.67it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 16:09:47.834115] Completed epoch 36 with training loss 0.43834409, validation loss 0.45442599 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.67it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 16:10:42.144711] Completed epoch 37 with training loss 0.43870926, validation loss 0.45203277 Validation loss improved to 0.45203277. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.71it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.32it/s]
[2024-05-04 16:11:35.230442] Completed epoch 38 with training loss 0.43831533, validation loss 0.45330122 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 16:12:28.961427] Completed epoch 39 with training loss 0.43785524, validation loss 0.45343131 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.73it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
[2024-05-04 16:13:21.723477] Completed epoch 40 with training loss 0.43756509, validation loss 0.44731706 Validation loss improved to 0.44731706. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.68it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
[2024-05-04 16:14:15.701739] Completed epoch 41 with training loss 0.43707284, validation loss 0.44843403 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:49<00:00, 1.63it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 16:15:11.154573] Completed epoch 42 with training loss 0.43760210, validation loss 0.44900185 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.70it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 16:16:04.571807] Completed epoch 43 with training loss 0.43712863, validation loss 0.44613644 Validation loss improved to 0.44613644. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.70it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 16:16:58.140577] Completed epoch 44 with training loss 0.43614212, validation loss 0.44443324 Validation loss improved to 0.44443324. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.72it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 16:17:51.269430] Completed epoch 45 with training loss 0.43600297, validation loss 0.45465785 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.66it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.42it/s]
[2024-05-04 16:18:45.402962] Completed epoch 46 with training loss 0.43667784, validation loss 0.45233634 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 16:19:39.203795] Completed epoch 47 with training loss 0.43558139, validation loss 0.45306131 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 16:20:32.783682] Completed epoch 48 with training loss 0.43608832, validation loss 0.46504053 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 16:21:26.570462] Completed epoch 49 with training loss 0.43626219, validation loss 0.46441367 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.71it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 16:22:19.700050] Completed epoch 50 with training loss 0.43662125, validation loss 0.47154784 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.66it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 16:23:14.356276] Completed epoch 51 with training loss 0.43591404, validation loss 0.47455576 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.64it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 16:24:09.255538] Completed epoch 52 with training loss 0.43515548, validation loss 0.48481980 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 16:25:02.923876] Completed epoch 53 with training loss 0.43569413, validation loss 0.49652091 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 16:25:56.600967] Completed epoch 54 with training loss 0.43571448, validation loss 0.48276678 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.67it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 16:26:50.719716] Completed epoch 55 with training loss 0.43468601, validation loss 0.48674414 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.72it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 16:27:43.534267] Completed epoch 56 with training loss 0.43636808, validation loss 0.47572497 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 16:28:37.418727] Completed epoch 57 with training loss 0.43559799, validation loss 0.49969086 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:48<00:00, 1.66it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 16:29:32.054576] Completed epoch 58 with training loss 0.43505508, validation loss 0.50092405 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.67it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 16:30:26.260188] Completed epoch 59 with training loss 0.43544030, validation loss 0.51004487 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.67it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 16:31:20.684234] Completed epoch 60 with training loss 0.43478888, validation loss 0.50288284 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.71it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 16:32:13.737376] Completed epoch 61 with training loss 0.43467635, validation loss 0.49058586 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:47<00:00, 1.69it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.35it/s]
[2024-05-04 16:33:07.036765] Completed epoch 62 with training loss 0.43367061, validation loss 0.50157756 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:46<00:00, 1.71it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 16:34:00.310494] Completed epoch 63 with training loss 0.43431631, validation loss 0.50388724 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:45<00:00, 1.75it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 16:34:52.289915] Completed epoch 64 with training loss 0.43499917, validation loss 0.48996824 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 44, 0.4444
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.48it/s]
Loss: 0.48387089371681213 AUROC: 0.479719769221712 AUPRC: 0.1591201327975818 Sensitivity: 0.48771929824561405 Specificity: 0.4738255033557047 Threshold: 0.25 Accuracy: 0.476056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.35it/s]
Loss: 0.47857600450515747 AUROC: 0.5017774512784139 AUPRC: 0.16781498028462427 Sensitivity: 0.5215827338129496 Specificity: 0.46737089201877935 Threshold: 0.25 Accuracy: 0.4762465645857872 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.07it/s]
Loss: 0.4775451677186148 AUROC: 0.478624749793948 AUPRC: 0.15855763004251877 Sensitivity: 0.49122807017543857 Specificity: 0.4704697986577181 Threshold: 0.24 Accuracy: 0.47380281690140846 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.20it/s]
Loss: 0.47308252453804017 AUROC: 0.5040705463797975 AUPRC: 0.16897199263437584 Sensitivity: 0.526378896882494 Specificity: 0.4715962441314554 Threshold: 0.24 Accuracy: 0.48056537102473496 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.47238094891820637 AUROC: 0.47741905098316256 AUPRC: 0.15826573333547606 Sensitivity: 0.45964912280701753 Specificity: 0.508724832214765 Threshold: 0.23 Accuracy: 0.5008450704225352 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.46748812198638917 AUROC: 0.5057613064477995 AUPRC: 0.17097328387795652 Sensitivity: 0.5035971223021583 Specificity: 0.5089201877934272 Threshold: 0.23 Accuracy: 0.5080486847271299 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.4687697099787848 AUROC: 0.47693394560226066 AUPRC: 0.1584002789359853 Sensitivity: 0.4982456140350877 Specificity: 0.4671140939597315 Threshold: 0.22 Accuracy: 0.47211267605633805 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.46447575464844704 AUROC: 0.5079001587462424 AUPRC: 0.17187414461900705 Sensitivity: 0.5335731414868106 Specificity: 0.46924882629107983 Threshold: 0.22 Accuracy: 0.47978013349038084 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.46932984462806154 AUROC: 0.476904509596138 AUPRC: 0.15817520746586533 Sensitivity: 0.5157894736842106 Specificity: 0.44563758389261743 Threshold: 0.22 Accuracy: 0.4569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.20it/s]
Loss: 0.46372720301151277 AUROC: 0.5099134776685694 AUPRC: 0.17304254538968739 Sensitivity: 0.473621103117506 Specificity: 0.5410798122065728 Threshold: 0.23 Accuracy: 0.5300353356890459 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.46386235313756125 AUROC: 0.4766419404215236 AUPRC: 0.15825895488240843 Sensitivity: 0.45263157894736844 Specificity: 0.5221476510067115 Threshold: 0.22 Accuracy: 0.5109859154929578 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.46018842086195944 AUROC: 0.5129438702559079 AUPRC: 0.1743709536882699 Sensitivity: 0.4988009592326139 Specificity: 0.5232394366197183 Threshold: 0.22 Accuracy: 0.5192383195916764 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4608527741261891 AUROC: 0.4768209113387495 AUPRC: 0.1609190624712724 Sensitivity: 0.48771929824561405 Specificity: 0.4885906040268456 Threshold: 0.21 Accuracy: 0.48845070422535214 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.45754748955368996 AUROC: 0.5154983055808874 AUPRC: 0.1760999500852201 Sensitivity: 0.5239808153477218 Specificity: 0.49483568075117373 Threshold: 0.21 Accuracy: 0.49960738123282294 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.46036385212625774 AUROC: 0.476674908748381 AUPRC: 0.1606468644341384 Sensitivity: 0.45263157894736844 Specificity: 0.5248322147651007 Threshold: 0.21 Accuracy: 0.5132394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.4562488108873367 AUROC: 0.5180739915110165 AUPRC: 0.1763008338995866 Sensitivity: 0.4952038369304556 Specificity: 0.5269953051643192 Threshold: 0.21 Accuracy: 0.5217903415783275 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4613512435129711 AUROC: 0.476929235841281 AUPRC: 0.1604893459509285 Sensitivity: 0.45614035087719296 Specificity: 0.5100671140939598 Threshold: 0.21 Accuracy: 0.5014084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.45622318610548973 AUROC: 0.5203255705294919 AUPRC: 0.17688489930269163 Sensitivity: 0.5071942446043165 Specificity: 0.5145539906103287 Threshold: 0.21 Accuracy: 0.5133490380840204 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
Loss: 0.45788336651665823 AUROC: 0.47621099729188743 AUPRC: 0.1603861163849486 Sensitivity: 0.47368421052631576 Specificity: 0.48053691275167787 Threshold: 0.2 Accuracy: 0.47943661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4533564820885658 AUROC: 0.5245944089798583 AUPRC: 0.18014138940426996 Sensitivity: 0.5335731414868106 Specificity: 0.49272300469483565 Threshold: 0.2 Accuracy: 0.4994110718492344 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.45926753537995474 AUROC: 0.47712233604144594 AUPRC: 0.16022123810883476 Sensitivity: 0.47017543859649125 Specificity: 0.4919463087248322 Threshold: 0.21 Accuracy: 0.48845070422535214 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4549259044229984 AUROC: 0.5272683261841231 AUPRC: 0.18215021767163284 Sensitivity: 0.5191846522781774 Specificity: 0.5075117370892018 Threshold: 0.21 Accuracy: 0.5094228504122497 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.45933779435498373 AUROC: 0.4777793476981043 AUPRC: 0.16012828584757874 Sensitivity: 0.4631578947368421 Specificity: 0.49798657718120803 Threshold: 0.21 Accuracy: 0.4923943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.45439579263329505 AUROC: 0.529600967113633 AUPRC: 0.18304023841959072 Sensitivity: 0.513189448441247 Specificity: 0.5154929577464789 Threshold: 0.21 Accuracy: 0.5151158225363173 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.45693741738796234 AUROC: 0.4781054986459437 AUPRC: 0.15984994468425803 Sensitivity: 0.5228070175438596 Specificity: 0.4395973154362416 Threshold: 0.2 Accuracy: 0.4529577464788732 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4527411818504333 AUROC: 0.5330325880140958 AUPRC: 0.1852936527479479 Sensitivity: 0.5827338129496403 Specificity: 0.45892018779342725 Threshold: 0.2 Accuracy: 0.47919120533961523 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.4563600548676082 AUROC: 0.4789862239491346 AUPRC: 0.15715184725742876 Sensitivity: 0.4807017543859649 Specificity: 0.48590604026845635 Threshold: 0.2 Accuracy: 0.48507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.451253517717123 AUROC: 0.5373384391078686 AUPRC: 0.18453255764127657 Sensitivity: 0.5323741007194245 Specificity: 0.5039906103286385 Threshold: 0.2 Accuracy: 0.5086376128778956 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
Loss: 0.45535482253347126 AUROC: 0.48070881902743434 AUPRC: 0.1571063447216902 Sensitivity: 0.47719298245614034 Specificity: 0.47449664429530203 Threshold: 0.2 Accuracy: 0.47492957746478875 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.45063277930021284 AUROC: 0.5421735850756015 AUPRC: 0.1866944301644136 Sensitivity: 0.5419664268585132 Specificity: 0.5044600938967136 Threshold: 0.2 Accuracy: 0.5106007067137809 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.4562144492353712 AUROC: 0.48222653950312033 AUPRC: 0.1569363417231522 Sensitivity: 0.5228070175438596 Specificity: 0.42818791946308726 Threshold: 0.2 Accuracy: 0.4433802816901408 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.45070908293128015 AUROC: 0.5465396696727125 AUPRC: 0.187808987382199 Sensitivity: 0.5851318944844125 Specificity: 0.4737089201877934 Threshold: 0.2 Accuracy: 0.49195131527287006 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.4565611864839281 AUROC: 0.4832061697868833 AUPRC: 0.1564448088800786 Sensitivity: 0.43508771929824563 Specificity: 0.5416107382550336 Threshold: 0.21 Accuracy: 0.5245070422535211 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4513151004910469 AUROC: 0.5476568041341575 AUPRC: 0.1876074757302062 Sensitivity: 0.4904076738609113 Specificity: 0.5737089201877934 Threshold: 0.21 Accuracy: 0.5600706713780919 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4550740569829941 AUROC: 0.4842305427999529 AUPRC: 0.1568692580453061 Sensitivity: 0.47368421052631576 Specificity: 0.4899328859060403 Threshold: 0.2 Accuracy: 0.48732394366197185 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.45004149749875066 AUROC: 0.5477000090068791 AUPRC: 0.18698878942532032 Sensitivity: 0.5335731414868106 Specificity: 0.5352112676056338 Threshold: 0.2 Accuracy: 0.5349430702787593 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.45883367529937197 AUROC: 0.4862274814553161 AUPRC: 0.156595134747787 Sensitivity: 0.4842105263157895 Specificity: 0.47248322147651006 Threshold: 0.22 Accuracy: 0.4743661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.45373095348477366 AUROC: 0.5566653719278098 AUPRC: 0.1916042656817598 Sensitivity: 0.5611510791366906 Specificity: 0.5295774647887324 Threshold: 0.22 Accuracy: 0.5347467608951708 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.45447646507195066 AUROC: 0.48738137289532557 AUPRC: 0.15680776117649645 Sensitivity: 0.48771929824561405 Specificity: 0.48590604026845635 Threshold: 0.2 Accuracy: 0.48619718309859156 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.44894259572029116 AUROC: 0.5565078922777271 AUPRC: 0.1914966022569864 Sensitivity: 0.5491606714628298 Specificity: 0.5415492957746478 Threshold: 0.2 Accuracy: 0.5427954456223008 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.45595786401203703 AUROC: 0.4879371246909219 AUPRC: 0.1569712822275386 Sensitivity: 0.5263157894736842 Specificity: 0.41879194630872485 Threshold: 0.2 Accuracy: 0.436056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4499681368470192 AUROC: 0.556748263361142 AUPRC: 0.19119235144571547 Sensitivity: 0.4856115107913669 Specificity: 0.6061032863849766 Threshold: 0.21 Accuracy: 0.5863761287789556 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.45840179920196533 AUROC: 0.4895973154362416 AUPRC: 0.15775687286054169 Sensitivity: 0.48771929824561405 Specificity: 0.48053691275167787 Threshold: 0.22 Accuracy: 0.48169014084507045 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4533163994550705 AUROC: 0.5609481428941354 AUPRC: 0.19307366312590118 Sensitivity: 0.565947242206235 Specificity: 0.530281690140845 Threshold: 0.22 Accuracy: 0.5361209265802905 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.4551604219845363 AUROC: 0.4899717414341222 AUPRC: 0.15773899228813446 Sensitivity: 0.47719298245614034 Specificity: 0.4899328859060403 Threshold: 0.2 Accuracy: 0.48788732394366197 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4483091615140438 AUROC: 0.5627134911788878 AUPRC: 0.19386820685642162 Sensitivity: 0.5587529976019184 Specificity: 0.5401408450704225 Threshold: 0.2 Accuracy: 0.5431880643894779 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.11it/s]
Loss: 0.45670147027288166 AUROC: 0.4913846697280113 AUPRC: 0.15812053448087626 Sensitivity: 0.45964912280701753 Specificity: 0.512751677852349 Threshold: 0.21 Accuracy: 0.504225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4496988758444786 AUROC: 0.5645523018205154 AUPRC: 0.19448791835755744 Sensitivity: 0.5347721822541966 Specificity: 0.5657276995305164 Threshold: 0.21 Accuracy: 0.5606595995288575 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.4549657830170223 AUROC: 0.49359119274696805 AUPRC: 0.1596064649775943 Sensitivity: 0.543859649122807 Specificity: 0.43288590604026844 Threshold: 0.2 Accuracy: 0.4507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.44833318665623667 AUROC: 0.571370931423875 AUPRC: 0.197954193208903 Sensitivity: 0.5 Specificity: 0.5957746478873239 Threshold: 0.21 Accuracy: 0.5800942285041225 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.4532593403543745 AUROC: 0.4942835276109737 AUPRC: 0.15980393317721991 Sensitivity: 0.4631578947368421 Specificity: 0.5416107382550336 Threshold: 0.2 Accuracy: 0.5290140845070422 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4468837060034275 AUROC: 0.5699181499870526 AUPRC: 0.19718877403891308 Sensitivity: 0.5227817745803357 Specificity: 0.5748826291079813 Threshold: 0.2 Accuracy: 0.566352571652925 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.45417858021599905 AUROC: 0.49581890969033326 AUPRC: 0.16055096860098506 Sensitivity: 0.4631578947368421 Specificity: 0.5449664429530201 Threshold: 0.21 Accuracy: 0.5318309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.44852899089455606 AUROC: 0.5715467062969343 AUPRC: 0.19814828701126125 Sensitivity: 0.5215827338129496 Specificity: 0.5753521126760563 Threshold: 0.21 Accuracy: 0.5665488810365136 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.45299006147044046 AUROC: 0.4975944895796538 AUPRC: 0.16153944510862828 Sensitivity: 0.5157894736842106 Specificity: 0.4697986577181208 Threshold: 0.19 Accuracy: 0.4771830985915493 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4457282774150372 AUROC: 0.5739495727361773 AUPRC: 0.19907116075127648 Sensitivity: 0.5755395683453237 Specificity: 0.5157276995305164 Threshold: 0.19 Accuracy: 0.5255202198665097 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.79it/s]
Loss: 0.4553914155278887 AUROC: 0.4978511715530437 AUPRC: 0.16110319608563833 Sensitivity: 0.4666666666666667 Specificity: 0.5261744966442953 Threshold: 0.21 Accuracy: 0.5166197183098592 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4486111097037792 AUROC: 0.5716004661059885 AUPRC: 0.19764874191042792 Sensitivity: 0.5335731414868106 Specificity: 0.5657276995305164 Threshold: 0.21 Accuracy: 0.560463290145269 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.45415106202874866 AUROC: 0.5002390203697162 AUPRC: 0.16233084175577642 Sensitivity: 0.5263157894736842 Specificity: 0.45234899328859063 Threshold: 0.2 Accuracy: 0.46422535211267607 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.44755090624094007 AUROC: 0.57498254917193 AUPRC: 0.19949648889138577 Sensitivity: 0.5059952038369304 Specificity: 0.6039906103286385 Threshold: 0.21 Accuracy: 0.587946603847664 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.45401823094912935 AUROC: 0.5005946073236783 AUPRC: 0.16178423531483455 Sensitivity: 0.5263157894736842 Specificity: 0.4651006711409396 Threshold: 0.2 Accuracy: 0.47492957746478875 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4472718290984631 AUROC: 0.5746539388207743 AUPRC: 0.1988472554775174 Sensitivity: 0.5887290167865707 Specificity: 0.5117370892018779 Threshold: 0.2 Accuracy: 0.5243423635649784 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.4525585344859532 AUROC: 0.5022265395031202 AUPRC: 0.16208779548913207 Sensitivity: 0.5263157894736842 Specificity: 0.4671140939597315 Threshold: 0.19 Accuracy: 0.47661971830985916 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.44553654715418817 AUROC: 0.5758503056709562 AUPRC: 0.19929290887320078 Sensitivity: 0.5971223021582733 Specificity: 0.5091549295774648 Threshold: 0.19 Accuracy: 0.5235571260306242 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.45289625227451324 AUROC: 0.5049087483810197 AUPRC: 0.163283164833257 Sensitivity: 0.48771929824561405 Specificity: 0.5395973154362416 Threshold: 0.2 Accuracy: 0.5312676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.4458286717534065 AUROC: 0.5780581168867722 AUPRC: 0.19978390226235415 Sensitivity: 0.5443645083932853 Specificity: 0.5636150234741784 Threshold: 0.2 Accuracy: 0.560463290145269 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.4539963794606073 AUROC: 0.5060979630283763 AUPRC: 0.16374458346518145 Sensitivity: 0.47017543859649125 Specificity: 0.561744966442953 Threshold: 0.21 Accuracy: 0.5470422535211268 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4472023844718933 AUROC: 0.5786383569200977 AUPRC: 0.1999112819493107 Sensitivity: 0.5251798561151079 Specificity: 0.5852112676056338 Threshold: 0.21 Accuracy: 0.5753828032979976 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4542401305266789 AUROC: 0.5061615448016014 AUPRC: 0.16352059554540324 Sensitivity: 0.47368421052631576 Specificity: 0.5577181208053691 Threshold: 0.21 Accuracy: 0.5442253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.44727270156145094 AUROC: 0.5782510611229327 AUPRC: 0.20041139243142378 Sensitivity: 0.5275779376498801 Specificity: 0.5786384976525821 Threshold: 0.21 Accuracy: 0.5702787593246957 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
Loss: 0.4542954925979887 AUROC: 0.5088625927234194 AUPRC: 0.1645175621677851 Sensitivity: 0.49473684210526314 Specificity: 0.5416107382550336 Threshold: 0.21 Accuracy: 0.5340845070422535 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.44748770296573637 AUROC: 0.5795376374956372 AUPRC: 0.20056915083297794 Sensitivity: 0.5539568345323741 Specificity: 0.5664319248826291 Threshold: 0.21 Accuracy: 0.5643894778170396 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.4537297146660941 AUROC: 0.5108218532909454 AUPRC: 0.16585218134618887 Sensitivity: 0.5368421052631579 Specificity: 0.49798657718120803 Threshold: 0.2 Accuracy: 0.504225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4461328245699406 AUROC: 0.5796521937379673 AUPRC: 0.20069810115660058 Sensitivity: 0.5887290167865707 Specificity: 0.5232394366197183 Threshold: 0.2 Accuracy: 0.5339615233608166 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.33it/s]
Loss: 0.452136938061033 AUROC: 0.5110020016484164 AUPRC: 0.16613862537224644 Sensitivity: 0.4982456140350877 Specificity: 0.5315436241610738 Threshold: 0.2 Accuracy: 0.5261971830985915 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.4456569626927376 AUROC: 0.579371573164004 AUPRC: 0.19995050554793148 Sensitivity: 0.552757793764988 Specificity: 0.5525821596244131 Threshold: 0.2 Accuracy: 0.5526109148017275 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.45324282135282246 AUROC: 0.5115777699281763 AUPRC: 0.16690971528651233 Sensitivity: 0.5649122807017544 Specificity: 0.4771812080536913 Threshold: 0.2 Accuracy: 0.49126760563380284 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.20it/s]
Loss: 0.44651502221822736 AUROC: 0.5802792976886096 AUPRC: 0.2014931174014455 Sensitivity: 0.5227817745803357 Specificity: 0.5880281690140845 Threshold: 0.21 Accuracy: 0.577345897133883 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.4523915925196239 AUROC: 0.5125103026021429 AUPRC: 0.16732908811568992 Sensitivity: 0.5403508771929825 Specificity: 0.49261744966442955 Threshold: 0.2 Accuracy: 0.5002816901408451 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.44621027931571006 AUROC: 0.5807258418617218 AUPRC: 0.2015589510443531 Sensitivity: 0.6031175059952039 Specificity: 0.5147887323943662 Threshold: 0.2 Accuracy: 0.5292500981546918 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.446679025888443 AUROC: 0.5156069704462498 AUPRC: 0.17166939426526573 Sensitivity: 0.4807017543859649 Specificity: 0.5295302013422819 Threshold: 0.18 Accuracy: 0.5216901408450704 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.4422034427523613 AUROC: 0.582328644126952 AUPRC: 0.2004039112302327 Sensitivity: 0.5611510791366906 Specificity: 0.5671361502347417 Threshold: 0.18 Accuracy: 0.5661562622693365 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.44824235141277313 AUROC: 0.5170269633816084 AUPRC: 0.17199179433444467 Sensitivity: 0.4631578947368421 Specificity: 0.5583892617449664 Threshold: 0.19 Accuracy: 0.5430985915492957 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4428164780139923 AUROC: 0.5810930129136127 AUPRC: 0.2005792993129035 Sensitivity: 0.5383693045563549 Specificity: 0.5732394366197183 Threshold: 0.19 Accuracy: 0.5675304279544562 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.44884686384882244 AUROC: 0.5180701754385965 AUPRC: 0.17368626077399824 Sensitivity: 0.5614035087719298 Specificity: 0.4966442953020134 Threshold: 0.19 Accuracy: 0.5070422535211268 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4440868474543095 AUROC: 0.5802850677204715 AUPRC: 0.19995489157288107 Sensitivity: 0.5947242206235012 Specificity: 0.5269953051643192 Threshold: 0.19 Accuracy: 0.5380840204161759 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.44663532291139874 AUROC: 0.5193653597079948 AUPRC: 0.172704136557912 Sensitivity: 0.5719298245614035 Specificity: 0.4671140939597315 Threshold: 0.18 Accuracy: 0.483943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.44314535781741143 AUROC: 0.5778743202621002 AUPRC: 0.2003243443655861 Sensitivity: 0.5155875299760192 Specificity: 0.6044600938967136 Threshold: 0.19 Accuracy: 0.5899096976835493 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.44451374879905153 AUROC: 0.5180372071117391 AUPRC: 0.17307011702052436 Sensitivity: 0.45614035087719296 Specificity: 0.5785234899328859 Threshold: 0.18 Accuracy: 0.5588732394366197 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4421113647520542 AUROC: 0.5763017754810236 AUPRC: 0.2000958414164014 Sensitivity: 0.5071942446043165 Specificity: 0.6140845070422535 Threshold: 0.18 Accuracy: 0.5965842167255595 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0045.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.45493222560201374 AUROC: 0.5195772989520782 AUPRC: 0.17216593449671053 Sensitivity: 0.519298245614035 Specificity: 0.5348993288590604 Threshold: 0.22 Accuracy: 0.532394366197183 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.45055304393172263 AUROC: 0.5771411040181939 AUPRC: 0.20025933808111562 Sensitivity: 0.5551558752997602 Specificity: 0.5497652582159624 Threshold: 0.22 Accuracy: 0.5506478209658422 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0046.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.4516739994287491 AUROC: 0.520917225950783 AUPRC: 0.1737521206096092 Sensitivity: 0.5298245614035088 Specificity: 0.5288590604026846 Threshold: 0.21 Accuracy: 0.5290140845070422 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.447105710208416 AUROC: 0.5796127886423256 AUPRC: 0.2016801806688958 Sensitivity: 0.5671462829736211 Specificity: 0.5504694835680751 Threshold: 0.21 Accuracy: 0.5531998429524931 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0047.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
Loss: 0.4521224158150809 AUROC: 0.5200671140939598 AUPRC: 0.17351154372219965 Sensitivity: 0.5789473684210527 Specificity: 0.4791946308724832 Threshold: 0.21 Accuracy: 0.4952112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.34it/s]
Loss: 0.44867030158638954 AUROC: 0.5772776145280958 AUPRC: 0.20123889687740443 Sensitivity: 0.5095923261390888 Specificity: 0.5950704225352113 Threshold: 0.22 Accuracy: 0.5810757754220651 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0048.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.4649905094078609 AUROC: 0.5193488755445661 AUPRC: 0.17067714859013888 Sensitivity: 0.5052631578947369 Specificity: 0.536241610738255 Threshold: 0.25 Accuracy: 0.5312676056338028 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.19it/s]
Loss: 0.46165806502103807 AUROC: 0.5745968014320937 AUPRC: 0.19908344954406657 Sensitivity: 0.5383693045563549 Specificity: 0.5619718309859155 Threshold: 0.25 Accuracy: 0.5581075775422065 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0049.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.46408368008477346 AUROC: 0.5207688684799247 AUPRC: 0.17339709143348486 Sensitivity: 0.47017543859649125 Specificity: 0.5590604026845638 Threshold: 0.25 Accuracy: 0.5447887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.46128049343824384 AUROC: 0.5763112045574807 AUPRC: 0.2002789224827684 Sensitivity: 0.5275779376498801 Specificity: 0.5751173708920188 Threshold: 0.25 Accuracy: 0.5673341185708677 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0050.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.32it/s]
Loss: 0.4720078877040318 AUROC: 0.5211432944778052 AUPRC: 0.17133281254265115 Sensitivity: 0.5368421052631579 Specificity: 0.49731543624161073 Threshold: 0.26 Accuracy: 0.5036619718309859 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.46656275540590286 AUROC: 0.5750903502550072 AUPRC: 0.19829319251683503 Sensitivity: 0.5671462829736211 Specificity: 0.5359154929577464 Threshold: 0.26 Accuracy: 0.5410286611700039 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0051.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.47487602276461466 AUROC: 0.5192417284822796 AUPRC: 0.17089348814698144 Sensitivity: 0.519298245614035 Specificity: 0.521476510067114 Threshold: 0.27 Accuracy: 0.5211267605633803 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.471784558147192 AUROC: 0.5706918971864762 AUPRC: 0.20224871218615237 Sensitivity: 0.5515587529976019 Specificity: 0.5467136150234742 Threshold: 0.27 Accuracy: 0.5475068708284256 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0052.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.4841533771583012 AUROC: 0.5199081596608971 AUPRC: 0.1709217162531117 Sensitivity: 0.5403508771929825 Specificity: 0.5033557046979866 Threshold: 0.29 Accuracy: 0.5092957746478873 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4801922105252743 AUROC: 0.5735726911428604 AUPRC: 0.2030807369487415 Sensitivity: 0.5587529976019184 Specificity: 0.5408450704225352 Threshold: 0.29 Accuracy: 0.5437769925402435 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0053.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.49678230924265726 AUROC: 0.5221064405981397 AUPRC: 0.17145686327127724 Sensitivity: 0.5508771929824562 Specificity: 0.4919463087248322 Threshold: 0.31 Accuracy: 0.5014084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.4904314994812012 AUROC: 0.574661256909965 AUPRC: 0.20333719542352413 Sensitivity: 0.5695443645083933 Specificity: 0.5274647887323943 Threshold: 0.31 Accuracy: 0.5343541421279937 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0054.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.48358527038778576 AUROC: 0.5231284587307194 AUPRC: 0.1722877859555556 Sensitivity: 0.5333333333333333 Specificity: 0.5228187919463088 Threshold: 0.29 Accuracy: 0.5245070422535211 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.47834405303001404 AUROC: 0.5775345920446742 AUPRC: 0.2051921096714185 Sensitivity: 0.5539568345323741 Specificity: 0.5539906103286385 Threshold: 0.29 Accuracy: 0.5539850804868472 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0055.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
Loss: 0.48634699412754606 AUROC: 0.5241504768632992 AUPRC: 0.17302119802536456 Sensitivity: 0.4842105263157895 Specificity: 0.5671140939597316 Threshold: 0.3 Accuracy: 0.5538028169014084 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4825724415481091 AUROC: 0.5781532520462503 AUPRC: 0.20555082218846848 Sensitivity: 0.5167865707434053 Specificity: 0.594131455399061 Threshold: 0.3 Accuracy: 0.5814683941892422 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0056.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.475396277649062 AUROC: 0.524955845990816 AUPRC: 0.17301607646835046 Sensitivity: 0.4807017543859649 Specificity: 0.5570469798657718 Threshold: 0.28 Accuracy: 0.5447887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.47233995646238325 AUROC: 0.5788343972709157 AUPRC: 0.20554770223820634 Sensitivity: 0.5203836930455635 Specificity: 0.5870892018779342 Threshold: 0.28 Accuracy: 0.5761680408323517 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0057.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
Loss: 0.4998211477484022 AUROC: 0.5212657482632757 AUPRC: 0.1781364853977645 Sensitivity: 0.519298245614035 Specificity: 0.5315436241610738 Threshold: 0.32 Accuracy: 0.5295774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.49502731263637545 AUROC: 0.5793659438646266 AUPRC: 0.19980760942609882 Sensitivity: 0.5551558752997602 Specificity: 0.5657276995305164 Threshold: 0.32 Accuracy: 0.5639968590498626 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0058.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.5006546463285174 AUROC: 0.5250041210408571 AUPRC: 0.1735765434395562 Sensitivity: 0.5368421052631579 Specificity: 0.5248322147651007 Threshold: 0.32 Accuracy: 0.5267605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.31it/s]
Loss: 0.4970826394855976 AUROC: 0.580551474313507 AUPRC: 0.20033680677126603 Sensitivity: 0.5623501199040767 Specificity: 0.5605633802816902 Threshold: 0.32 Accuracy: 0.560855908912446 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0059.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.5102130983557019 AUROC: 0.5213458141999293 AUPRC: 0.17345479993755222 Sensitivity: 0.5017543859649123 Specificity: 0.548993288590604 Threshold: 0.33 Accuracy: 0.5414084507042254 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.22it/s]
Loss: 0.5099258258938789 AUROC: 0.5674395694711836 AUPRC: 0.19736602688949229 Sensitivity: 0.5203836930455635 Specificity: 0.578169014084507 Threshold: 0.33 Accuracy: 0.5687082842559874 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0060.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.5024183541536331 AUROC: 0.5253279171082067 AUPRC: 0.1728435535832488 Sensitivity: 0.5578947368421052 Specificity: 0.5073825503355704 Threshold: 0.32 Accuracy: 0.5154929577464789 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.33it/s]
Loss: 0.49913459122180937 AUROC: 0.5770970547505657 AUPRC: 0.19786230098297308 Sensitivity: 0.5635491606714629 Specificity: 0.5345070422535211 Threshold: 0.32 Accuracy: 0.5392618767177071 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0061.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
Loss: 0.49067844237600056 AUROC: 0.5263687742847052 AUPRC: 0.17058768002605945 Sensitivity: 0.5684210526315789 Specificity: 0.4899328859060403 Threshold: 0.3 Accuracy: 0.5025352112676056 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4859928719699383 AUROC: 0.5838057722835815 AUPRC: 0.20110013770393403 Sensitivity: 0.5959232613908872 Specificity: 0.5274647887323943 Threshold: 0.3 Accuracy: 0.5386729485669415 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0062.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
Loss: 0.5015568009444645 AUROC: 0.5264511951018486 AUPRC: 0.1706592147050433 Sensitivity: 0.543859649122807 Specificity: 0.5234899328859061 Threshold: 0.32 Accuracy: 0.5267605633802817 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.49838195741176605 AUROC: 0.5796167291518898 AUPRC: 0.19701437543332379 Sensitivity: 0.5539568345323741 Specificity: 0.5584507042253521 Threshold: 0.32 Accuracy: 0.5577149587750294 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0063.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.37it/s]
Loss: 0.5043409722191947 AUROC: 0.5256163899682091 AUPRC: 0.171665409397249 Sensitivity: 0.6105263157894737 Specificity: 0.4436241610738255 Threshold: 0.32 Accuracy: 0.4704225352112676 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.23it/s]
Loss: 0.5011716410517693 AUROC: 0.5854600826381149 AUPRC: 0.2056262303154433 Sensitivity: 0.645083932853717 Specificity: 0.4983568075117371 Threshold: 0.32 Accuracy: 0.5223792697290931 Intermediate Model: ./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0064.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.48964149398463114 AUROC: 0.5234369480748852 AUPRC: 0.16978378458208593 Sensitivity: 0.5508771929824562 Specificity: 0.5020134228187919 Threshold: 0.3 Accuracy: 0.5098591549295775 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.48662878945469856 AUROC: 0.583719221805654 AUPRC: 0.2029269423838065 Sensitivity: 0.5851318944844125 Specificity: 0.5375586854460094 Threshold: 0.3 Accuracy: 0.5453474676089517 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 44, 0.4444 Epoch with best model Test AUROC: 63, 0.5855 Epoch with best model Test Accuracy: 44, 0.5966
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 44, 0.4444
Best Model Based on Validation Loss:
./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0044.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.25it/s]
Loss: 0.4421113647520542 AUROC: 0.5763017754810236 AUPRC: 0.2000958414164014 Sensitivity: 0.5071942446043165 Specificity: 0.6140845070422535 Threshold: 0.18 Accuracy: 0.5965842167255595
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.5763017754810236
best_model_val_test_auprc: 0.2000958414164014
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 63, 0.5855
Best Model Based on Model AUROC:
./vitaldb_cache/models/EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_2bb1d44d_0063.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.5011716410517693 AUROC: 0.5854600826381149 AUPRC: 0.2056262303154433 Sensitivity: 0.645083932853717 Specificity: 0.4983568075117371 Threshold: 0.32 Accuracy: 0.5223792697290931
best_model_auroc_test_auroc: 0.5854600826381149
best_model_auroc_test_auprc: 0.2056262303154433 Total Processing Time: 5013.1390 sec
RUN_ME = True
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=True,
useEcg=True,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=1e-1,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
Experiment Setup
name: ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b
prediction_window: 015
max_cases: _ALL
use_abp: True
use_eeg: True
use_ecg: True
n_residuals: 12
skip_connection: False
batch_size: 128
learning_rate: 0.0001
weight_decay: 0.1
balance_labels: False
max_epochs: 200
patience: 20
device: mps
Model Architecture
HypotensionCNN(
(abpResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(abpFc): Linear(in_features=2814, out_features=32, bias=True)
(ecgResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(15,), stride=(1,), padding=(7,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=1, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
)
(ecgFc): Linear(in_features=2814, out_features=32, bias=True)
(eegResiduals): Sequential(
(0): ResidualBlock(
(bn1): BatchNorm1d(1, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(1, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(1): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(2): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(3): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(4): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 2, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(5): ResidualBlock(
(bn1): BatchNorm1d(2, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
(residualConv): Conv1d(2, 4, kernel_size=(7,), stride=(1,), padding=(3,), bias=False)
)
(6): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(7): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(8): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(9): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 4, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
(10): ResidualBlock(
(bn1): BatchNorm1d(4, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(4, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(downsample): MaxPool1d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
)
(11): ResidualBlock(
(bn1): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU()
(dropout): Dropout(p=0.5, inplace=False)
(conv1): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(bn2): BatchNorm1d(6, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
(residualConv): Conv1d(6, 6, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)
)
)
(eegFc): Linear(in_features=720, out_features=32, bias=True)
(fullLinear1): Linear(in_features=96, out_features=16, bias=True)
(fullLinear2): Linear(in_features=16, out_features=1, bias=True)
(sigmoid): Sigmoid()
)
Training Loop
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
[2024-05-04 17:03:29.947626] Completed epoch 0 with training loss 0.44523758, validation loss 0.41934308 Validation loss improved to 0.41934308. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:52<00:00, 1.51it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 17:04:29.403628] Completed epoch 1 with training loss 0.40731472, validation loss 0.42132238 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:05:29.385708] Completed epoch 2 with training loss 0.39953107, validation loss 0.43515643 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
[2024-05-04 17:06:29.349487] Completed epoch 3 with training loss 0.39603782, validation loss 0.42903224 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.07it/s]
[2024-05-04 17:07:30.139496] Completed epoch 4 with training loss 0.39472836, validation loss 0.41563830 Validation loss improved to 0.41563830. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.04it/s]
[2024-05-04 17:08:32.233279] Completed epoch 5 with training loss 0.39621815, validation loss 0.42691159 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.04it/s]
[2024-05-04 17:09:34.996830] Completed epoch 6 with training loss 0.39481205, validation loss 0.43427071 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
[2024-05-04 17:10:37.065860] Completed epoch 7 with training loss 0.39551696, validation loss 0.42255086 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.06it/s]
[2024-05-04 17:11:39.661722] Completed epoch 8 with training loss 0.39610973, validation loss 0.42534548 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
[2024-05-04 17:12:42.428912] Completed epoch 9 with training loss 0.39665514, validation loss 0.42655760 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.09it/s]
[2024-05-04 17:13:43.620633] Completed epoch 10 with training loss 0.39415452, validation loss 0.42093673 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
[2024-05-04 17:14:44.814615] Completed epoch 11 with training loss 0.39507329, validation loss 0.43804249 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:15:46.715298] Completed epoch 12 with training loss 0.39663669, validation loss 0.41533664 Validation loss improved to 0.41533664. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.02it/s]
[2024-05-04 17:16:49.207313] Completed epoch 13 with training loss 0.39495221, validation loss 0.43797359 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.93it/s]
[2024-05-04 17:17:52.394999] Completed epoch 14 with training loss 0.39601412, validation loss 0.41906431 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.06it/s]
[2024-05-04 17:18:55.078084] Completed epoch 15 with training loss 0.39503863, validation loss 0.42644000 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
[2024-05-04 17:19:56.789237] Completed epoch 16 with training loss 0.39602581, validation loss 0.42087582 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.45it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.03it/s]
[2024-05-04 17:20:59.067363] Completed epoch 17 with training loss 0.39431766, validation loss 0.43704537 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.06it/s]
[2024-05-04 17:22:01.603802] Completed epoch 18 with training loss 0.39533171, validation loss 0.42094174 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.00it/s]
[2024-05-04 17:23:03.489492] Completed epoch 19 with training loss 0.39483324, validation loss 0.41480899 Validation loss improved to 0.41480899. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
[2024-05-04 17:24:06.421663] Completed epoch 20 with training loss 0.39577204, validation loss 0.41109255 Validation loss improved to 0.41109255. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.44it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 17:25:08.149077] Completed epoch 21 with training loss 0.39674559, validation loss 0.40795988 Validation loss improved to 0.40795988. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 17:26:08.463469] Completed epoch 22 with training loss 0.39473608, validation loss 0.41061261 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
[2024-05-04 17:27:08.477896] Completed epoch 23 with training loss 0.39528424, validation loss 0.41068870 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 17:28:08.805781] Completed epoch 24 with training loss 0.39565200, validation loss 0.41700792 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 17:29:08.560955] Completed epoch 25 with training loss 0.39496222, validation loss 0.40647325 Validation loss improved to 0.40647325. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:30:08.905783] Completed epoch 26 with training loss 0.39297211, validation loss 0.43143067 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 17:31:08.809338] Completed epoch 27 with training loss 0.39499784, validation loss 0.40775493 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 17:32:08.869733] Completed epoch 28 with training loss 0.39340129, validation loss 0.41264945 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.50it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:33:08.705128] Completed epoch 29 with training loss 0.39510214, validation loss 0.40575728 Validation loss improved to 0.40575728. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 17:34:08.919150] Completed epoch 30 with training loss 0.39496127, validation loss 0.43435159 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 17:35:08.853696] Completed epoch 31 with training loss 0.39492732, validation loss 0.41220942 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
[2024-05-04 17:36:09.247452] Completed epoch 32 with training loss 0.39284906, validation loss 0.42021051 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:37:10.109077] Completed epoch 33 with training loss 0.39333123, validation loss 0.40423748 Validation loss improved to 0.40423748. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:38:10.686227] Completed epoch 34 with training loss 0.39541569, validation loss 0.40379304 Validation loss improved to 0.40379304. Model saved.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:39:11.106351] Completed epoch 35 with training loss 0.39330637, validation loss 0.40423241 No improvement in validation loss. 1 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:40:11.887150] Completed epoch 36 with training loss 0.39475733, validation loss 0.41595665 No improvement in validation loss. 2 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 17:41:12.086695] Completed epoch 37 with training loss 0.39262483, validation loss 0.41919500 No improvement in validation loss. 3 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 17:42:12.285755] Completed epoch 38 with training loss 0.39591652, validation loss 0.41071701 No improvement in validation loss. 4 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.46it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.83it/s]
[2024-05-04 17:43:14.667915] Completed epoch 39 with training loss 0.39639494, validation loss 0.40463069 No improvement in validation loss. 5 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:55<00:00, 1.43it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:44:16.767900] Completed epoch 40 with training loss 0.39302117, validation loss 0.40717521 No improvement in validation loss. 6 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.49it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.28it/s]
[2024-05-04 17:45:16.622141] Completed epoch 41 with training loss 0.39347261, validation loss 0.40877014 No improvement in validation loss. 7 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 17:46:16.950080] Completed epoch 42 with training loss 0.39395291, validation loss 0.42622808 No improvement in validation loss. 8 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 17:47:17.405873] Completed epoch 43 with training loss 0.39451116, validation loss 0.42390093 No improvement in validation loss. 9 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.26it/s]
[2024-05-04 17:48:17.915128] Completed epoch 44 with training loss 0.39448339, validation loss 0.40663078 No improvement in validation loss. 10 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
[2024-05-04 17:49:18.623512] Completed epoch 45 with training loss 0.39415359, validation loss 0.41325158 No improvement in validation loss. 11 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 17:50:19.430381] Completed epoch 46 with training loss 0.39526558, validation loss 0.40848449 No improvement in validation loss. 12 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:53<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.22it/s]
[2024-05-04 17:51:19.798863] Completed epoch 47 with training loss 0.39522320, validation loss 0.40627998 No improvement in validation loss. 13 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:52:20.303056] Completed epoch 48 with training loss 0.39365473, validation loss 0.42126116 No improvement in validation loss. 14 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
[2024-05-04 17:53:20.838845] Completed epoch 49 with training loss 0.39339662, validation loss 0.41097483 No improvement in validation loss. 15 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:54:21.265765] Completed epoch 50 with training loss 0.39436647, validation loss 0.41465908 No improvement in validation loss. 16 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
[2024-05-04 17:55:21.785136] Completed epoch 51 with training loss 0.39513737, validation loss 0.40759468 No improvement in validation loss. 17 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.47it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
[2024-05-04 17:56:22.380551] Completed epoch 52 with training loss 0.39449087, validation loss 0.41453305 No improvement in validation loss. 18 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.30it/s]
[2024-05-04 17:57:22.559521] Completed epoch 53 with training loss 0.39454114, validation loss 0.40553793 No improvement in validation loss. 19 epochs without improvement.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 80/80 [00:54<00:00, 1.48it/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
[2024-05-04 17:58:22.898354] Completed epoch 54 with training loss 0.39345416, validation loss 0.41810021 No improvement in validation loss. 20 epochs without improvement. Early stopping due to no improvement in validation loss. Plot Validation and Loss Values from Training Epoch with best Validation Loss: 34, 0.4038
Generate AUROC/AUPRC for Each Intermediate Model Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0000.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:05<00:00, 2.43it/s]
Loss: 0.4199467386518206 AUROC: 0.6869563169669138 AUPRC: 0.32600918325094774 Sensitivity: 0.6070175438596491 Specificity: 0.6832214765100671 Threshold: 0.15 Accuracy: 0.6709859154929577 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4192192152142525 AUROC: 0.7251161042996589 AUPRC: 0.3503698799179891 Sensitivity: 0.6402877697841727 Specificity: 0.6913145539906104 Threshold: 0.15 Accuracy: 0.6829603455045151 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0001.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.4214002766779491 AUROC: 0.6967596844460143 AUPRC: 0.33746629826259467 Sensitivity: 0.6666666666666666 Specificity: 0.6328859060402685 Threshold: 0.12 Accuracy: 0.6383098591549295 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.420343941450119 AUROC: 0.7319381114826449 AUPRC: 0.35769278063660537 Sensitivity: 0.6906474820143885 Specificity: 0.6460093896713615 Threshold: 0.12 Accuracy: 0.6533176285826463 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0002.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.43528820148536135 AUROC: 0.6974449546685506 AUPRC: 0.33896411545455113 Sensitivity: 0.6210526315789474 Specificity: 0.6771812080536913 Threshold: 0.1 Accuracy: 0.668169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.22it/s]
Loss: 0.43382114060223104 AUROC: 0.7325153961337971 AUPRC: 0.36031622611603414 Sensitivity: 0.6522781774580336 Specificity: 0.6950704225352112 Threshold: 0.1 Accuracy: 0.688064389477817 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0003.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.27it/s]
Loss: 0.4284510037728718 AUROC: 0.697668668315083 AUPRC: 0.33882799406761815 Sensitivity: 0.6807017543859649 Specificity: 0.6060402684563758 Threshold: 0.1 Accuracy: 0.6180281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.26it/s]
Loss: 0.42762855291366575 AUROC: 0.7329934643834228 AUPRC: 0.36064651378428997 Sensitivity: 0.6438848920863309 Specificity: 0.7053990610328639 Threshold: 0.11 Accuracy: 0.6953278366705928 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0004.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.29it/s]
Loss: 0.4167990343911307 AUROC: 0.6978806075591664 AUPRC: 0.33748071206226793 Sensitivity: 0.624561403508772 Specificity: 0.6691275167785234 Threshold: 0.14 Accuracy: 0.6619718309859155 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.41411201283335686 AUROC: 0.7337113407865257 AUPRC: 0.3600526497830998 Sensitivity: 0.6630695443645084 Specificity: 0.6896713615023474 Threshold: 0.14 Accuracy: 0.6853160581075776 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0005.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.23it/s]
Loss: 0.4268587508371898 AUROC: 0.6976875073590014 AUPRC: 0.3404269841991809 Sensitivity: 0.6280701754385964 Specificity: 0.6718120805369128 Threshold: 0.11 Accuracy: 0.6647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.4269627183675766 AUROC: 0.7334159433016967 AUPRC: 0.36165169409268394 Sensitivity: 0.6558752997601919 Specificity: 0.6941314553990611 Threshold: 0.11 Accuracy: 0.6878680800942285 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0006.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.31it/s]
Loss: 0.4341382533311844 AUROC: 0.697275403273284 AUPRC: 0.34275341186901337 Sensitivity: 0.624561403508772 Specificity: 0.676510067114094 Threshold: 0.1 Accuracy: 0.668169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.27it/s]
Loss: 0.43424603827297686 AUROC: 0.732830777631416 AUPRC: 0.3610294496577257 Sensitivity: 0.6510791366906474 Specificity: 0.6978873239436619 Threshold: 0.1 Accuracy: 0.690223792697291 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0007.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.42239341352667126 AUROC: 0.6972389026256918 AUPRC: 0.34279510227046034 Sensitivity: 0.631578947368421 Specificity: 0.6657718120805369 Threshold: 0.12 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4217276368290186 AUROC: 0.7331105538104727 AUPRC: 0.3608068573488572 Sensitivity: 0.670263788968825 Specificity: 0.6821596244131456 Threshold: 0.12 Accuracy: 0.6802120141342756 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0008.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4248734691313335 AUROC: 0.6971411750853644 AUPRC: 0.3424948151353039 Sensitivity: 0.6596491228070176 Specificity: 0.6469798657718121 Threshold: 0.11 Accuracy: 0.6490140845070422 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.4244443755596876 AUROC: 0.7329102914851218 AUPRC: 0.35988326201500886 Sensitivity: 0.6858513189448441 Specificity: 0.6575117370892019 Threshold: 0.11 Accuracy: 0.6621515508441304 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0009.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.25it/s]
Loss: 0.425859945161002 AUROC: 0.6970587542682208 AUPRC: 0.34273120464214807 Sensitivity: 0.656140350877193 Specificity: 0.6550335570469799 Threshold: 0.11 Accuracy: 0.6552112676056338 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.4259470947086811 AUROC: 0.7326547212933878 AUPRC: 0.35947914291352884 Sensitivity: 0.6798561151079137 Specificity: 0.6673708920187793 Threshold: 0.11 Accuracy: 0.6694149980369062 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0010.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.4202768611056464 AUROC: 0.6971411750853644 AUPRC: 0.3415779284602517 Sensitivity: 0.6596491228070176 Specificity: 0.648993288590604 Threshold: 0.12 Accuracy: 0.6507042253521127 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.32it/s]
Loss: 0.41986620500683786 AUROC: 0.7326243230767499 AUPRC: 0.35907977571956123 Sensitivity: 0.684652278177458 Specificity: 0.6607981220657277 Threshold: 0.12 Accuracy: 0.6647035728307813 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0011.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.4378537982702255 AUROC: 0.696714941716708 AUPRC: 0.3437214542469652 Sensitivity: 0.6736842105263158 Specificity: 0.610738255033557 Threshold: 0.09 Accuracy: 0.6208450704225352 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.30it/s]
Loss: 0.4377595499157906 AUROC: 0.7317271534884768 AUPRC: 0.35878256255596475 Sensitivity: 0.7146282973621103 Specificity: 0.6284037558685446 Threshold: 0.09 Accuracy: 0.6425206124852768 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0012.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.41513556241989136 AUROC: 0.6971717885317319 AUPRC: 0.340547740097395 Sensitivity: 0.6631578947368421 Specificity: 0.6369127516778523 Threshold: 0.14 Accuracy: 0.6411267605633802 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.08it/s]
Loss: 0.41453595496714113 AUROC: 0.7323439839677554 AUPRC: 0.3589716374482767 Sensitivity: 0.6990407673860911 Specificity: 0.6490610328638498 Threshold: 0.14 Accuracy: 0.657243816254417 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0013.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.02it/s]
Loss: 0.43850261185850414 AUROC: 0.6968044271753209 AUPRC: 0.34346456465301456 Sensitivity: 0.6491228070175439 Specificity: 0.6597315436241611 Threshold: 0.09 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.15it/s]
Loss: 0.44010291770100596 AUROC: 0.7316338478512965 AUPRC: 0.35813082026324244 Sensitivity: 0.670263788968825 Specificity: 0.6727699530516432 Threshold: 0.09 Accuracy: 0.6723596387907342 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0014.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
Loss: 0.4192316489560263 AUROC: 0.6970422701047921 AUPRC: 0.3398119108274267 Sensitivity: 0.6175438596491228 Specificity: 0.6751677852348993 Threshold: 0.13 Accuracy: 0.6659154929577464 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.06it/s]
Loss: 0.4189671013504267 AUROC: 0.7317866833293929 AUPRC: 0.3586763680655345 Sensitivity: 0.6486810551558753 Specificity: 0.6981220657276995 Threshold: 0.13 Accuracy: 0.6900274833137024 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0015.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.42553230055740904 AUROC: 0.6968197338985047 AUPRC: 0.3425261094472597 Sensitivity: 0.6631578947368421 Specificity: 0.6308724832214765 Threshold: 0.11 Accuracy: 0.636056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:21<00:00, 1.82it/s]
Loss: 0.4253436427563429 AUROC: 0.731509158870087 AUPRC: 0.3581419559150777 Sensitivity: 0.6966426858513189 Specificity: 0.6455399061032864 Threshold: 0.11 Accuracy: 0.6539065567334118 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0016.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
Loss: 0.420556257878031 AUROC: 0.6973484045684681 AUPRC: 0.3389389873652435 Sensitivity: 0.6175438596491228 Specificity: 0.6718120805369128 Threshold: 0.12 Accuracy: 0.6630985915492957 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.10it/s]
Loss: 0.4210461966693401 AUROC: 0.7317205390617083 AUPRC: 0.3577176028805871 Sensitivity: 0.6546762589928058 Specificity: 0.6929577464788732 Threshold: 0.12 Accuracy: 0.6866902237926973 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0017.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
Loss: 0.4343519104378564 AUROC: 0.6965524549629105 AUPRC: 0.33965062461239404 Sensitivity: 0.6 Specificity: 0.6852348993288591 Threshold: 0.1 Accuracy: 0.6715492957746478 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.07it/s]
Loss: 0.4364953894168139 AUROC: 0.7308845881041646 AUPRC: 0.356035207611181 Sensitivity: 0.6330935251798561 Specificity: 0.7098591549295775 Threshold: 0.1 Accuracy: 0.6972909305064782 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0018.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.05it/s]
Loss: 0.42008612198489054 AUROC: 0.6974920522783469 AUPRC: 0.34240760121040487 Sensitivity: 0.624561403508772 Specificity: 0.6711409395973155 Threshold: 0.12 Accuracy: 0.663661971830986 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.4209299560636282 AUROC: 0.7315004334560521 AUPRC: 0.35723262799922273 Sensitivity: 0.6522781774580336 Specificity: 0.6913145539906104 Threshold: 0.12 Accuracy: 0.6849234393404005 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0019.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.4151157885789871 AUROC: 0.698052513834923 AUPRC: 0.3392034806656855 Sensitivity: 0.6175438596491228 Specificity: 0.676510067114094 Threshold: 0.13 Accuracy: 0.6670422535211268 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.03it/s]
Loss: 0.4153379175812006 AUROC: 0.7320111516420666 AUPRC: 0.35778098948766457 Sensitivity: 0.6426858513189448 Specificity: 0.7032863849765258 Threshold: 0.13 Accuracy: 0.6933647428347075 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0020.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.97it/s]
Loss: 0.4117732495069504 AUROC: 0.6980195455080654 AUPRC: 0.33781609340848084 Sensitivity: 0.6385964912280702 Specificity: 0.6610738255033557 Threshold: 0.14 Accuracy: 0.6574647887323943 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.12it/s]
Loss: 0.4104502011090517 AUROC: 0.7323721304646423 AUPRC: 0.3588950426311737 Sensitivity: 0.670263788968825 Specificity: 0.6755868544600939 Threshold: 0.14 Accuracy: 0.6747153513937966 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0021.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.02it/s]
Loss: 0.4080043137073517 AUROC: 0.6982950665253739 AUPRC: 0.34028127756425297 Sensitivity: 0.6350877192982456 Specificity: 0.6610738255033557 Threshold: 0.15 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.02it/s]
Loss: 0.4059729926288128 AUROC: 0.7330386395109265 AUPRC: 0.3606609242603545 Sensitivity: 0.670263788968825 Specificity: 0.6762910798122066 Threshold: 0.15 Accuracy: 0.6753042795445622 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0022.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.10it/s]
Loss: 0.4101602647985731 AUROC: 0.6982197103496998 AUPRC: 0.34025312936298807 Sensitivity: 0.6596491228070176 Specificity: 0.6530201342281879 Threshold: 0.14 Accuracy: 0.6540845070422535 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.08it/s]
Loss: 0.4099227014929056 AUROC: 0.7324864052420035 AUPRC: 0.3592987989935784 Sensitivity: 0.6858513189448441 Specificity: 0.6638497652582159 Threshold: 0.14 Accuracy: 0.6674519042010209 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0023.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.4119889331715448 AUROC: 0.6983939715059461 AUPRC: 0.33740857201701596 Sensitivity: 0.6596491228070176 Specificity: 0.6409395973154363 Threshold: 0.13 Accuracy: 0.643943661971831 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:20<00:00, 1.94it/s]
Loss: 0.4114056840538979 AUROC: 0.7325486090001238 AUPRC: 0.3591860004622517 Sensitivity: 0.6990407673860911 Specificity: 0.652112676056338 Threshold: 0.13 Accuracy: 0.6597958382410679 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0024.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.11it/s]
Loss: 0.4160560986825398 AUROC: 0.6980548687154128 AUPRC: 0.33888145131570935 Sensitivity: 0.6631578947368421 Specificity: 0.6295302013422819 Threshold: 0.11 Accuracy: 0.6349295774647887 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.07it/s]
Loss: 0.41634739227592943 AUROC: 0.73189575100483 AUPRC: 0.35770383866290795 Sensitivity: 0.7014388489208633 Specificity: 0.6455399061032864 Threshold: 0.11 Accuracy: 0.654691794267766 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0025.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.40720816595213755 AUROC: 0.6984245849523136 AUPRC: 0.33845767621349976 Sensitivity: 0.6596491228070176 Specificity: 0.6375838926174496 Threshold: 0.14 Accuracy: 0.6411267605633802 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:20<00:00, 1.96it/s]
Loss: 0.40629600137472155 AUROC: 0.7324776798279686 AUPRC: 0.35908321180262087 Sensitivity: 0.697841726618705 Specificity: 0.6502347417840375 Threshold: 0.14 Accuracy: 0.6580290537887711 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0026.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.93it/s]
Loss: 0.4311061480215618 AUROC: 0.6980760626398209 AUPRC: 0.33682698073057793 Sensitivity: 0.656140350877193 Specificity: 0.6543624161073825 Threshold: 0.09 Accuracy: 0.6546478873239436 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.04it/s]
Loss: 0.43270182646811006 AUROC: 0.7319676653043763 AUPRC: 0.3575855229129571 Sensitivity: 0.6750599520383693 Specificity: 0.6678403755868545 Threshold: 0.09 Accuracy: 0.6690223792697291 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0027.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.40913000064236776 AUROC: 0.6976557164723891 AUPRC: 0.34566557458950914 Sensitivity: 0.6175438596491228 Specificity: 0.6731543624161074 Threshold: 0.15 Accuracy: 0.6642253521126761 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.05it/s]
Loss: 0.4058456927537918 AUROC: 0.7324813388725638 AUPRC: 0.36099719320560003 Sensitivity: 0.6534772182254197 Specificity: 0.6941314553990611 Threshold: 0.15 Accuracy: 0.6874754613270514 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0028.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.91it/s]
Loss: 0.4122161865234375 AUROC: 0.6993547627457907 AUPRC: 0.3333631662543145 Sensitivity: 0.6631578947368421 Specificity: 0.6416107382550336 Threshold: 0.12 Accuracy: 0.6450704225352113 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:20<00:00, 1.96it/s]
Loss: 0.4114664576947689 AUROC: 0.7342044674119859 AUPRC: 0.3593471435768781 Sensitivity: 0.6954436450839329 Specificity: 0.6497652582159624 Threshold: 0.12 Accuracy: 0.657243816254417 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0029.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.08it/s]
Loss: 0.4064623564481735 AUROC: 0.698179677381373 AUPRC: 0.34250369101927114 Sensitivity: 0.6350877192982456 Specificity: 0.6651006711409396 Threshold: 0.17 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.02it/s]
Loss: 0.40219892635941507 AUROC: 0.7330862070906655 AUPRC: 0.36125305699959254 Sensitivity: 0.6690647482014388 Specificity: 0.6816901408450704 Threshold: 0.17 Accuracy: 0.6796230859835101 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0030.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.96it/s]
Loss: 0.43405558807509287 AUROC: 0.698751913340398 AUPRC: 0.33428293204041876 Sensitivity: 0.6596491228070176 Specificity: 0.6523489932885906 Threshold: 0.09 Accuracy: 0.6535211267605634 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:20<00:00, 1.99it/s]
Loss: 0.4349916107952595 AUROC: 0.7331762758807039 AUPRC: 0.35658962253261733 Sensitivity: 0.6762589928057554 Specificity: 0.6645539906103286 Threshold: 0.09 Accuracy: 0.6664703572830781 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0031.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.95it/s]
Loss: 0.41150245921952383 AUROC: 0.6994819262922407 AUPRC: 0.33864182430429846 Sensitivity: 0.6631578947368421 Specificity: 0.6308724832214765 Threshold: 0.12 Accuracy: 0.636056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.41118094250559806 AUROC: 0.7334947534929803 AUPRC: 0.35993701468279937 Sensitivity: 0.645083932853717 Specificity: 0.7068075117370892 Threshold: 0.13 Accuracy: 0.6967020023557126 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0032.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.03it/s]
Loss: 0.4204508534499577 AUROC: 0.6987095254915813 AUPRC: 0.33704696018388564 Sensitivity: 0.6771929824561403 Specificity: 0.6194630872483221 Threshold: 0.1 Accuracy: 0.6287323943661972 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.12it/s]
Loss: 0.4211242597550154 AUROC: 0.7322710845408181 AUPRC: 0.3568090487811631 Sensitivity: 0.6426858513189448 Specificity: 0.705868544600939 Threshold: 0.11 Accuracy: 0.6955241460541813 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0033.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.06it/s]
Loss: 0.4057990823473249 AUROC: 0.699592605675262 AUPRC: 0.3398704726863887 Sensitivity: 0.6526315789473685 Specificity: 0.6409395973154363 Threshold: 0.14 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.28it/s]
Loss: 0.40074076429009436 AUROC: 0.7345033832089258 AUPRC: 0.36216698917300966 Sensitivity: 0.6942446043165468 Specificity: 0.6490610328638498 Threshold: 0.14 Accuracy: 0.6564585787200629 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0034.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.40356786123343874 AUROC: 0.6998139644413045 AUPRC: 0.33870437080609284 Sensitivity: 0.656140350877193 Specificity: 0.6510067114093959 Threshold: 0.15 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.10it/s]
Loss: 0.3993221387267113 AUROC: 0.7344424460431654 AUPRC: 0.362408940255712 Sensitivity: 0.6906474820143885 Specificity: 0.6593896713615024 Threshold: 0.15 Accuracy: 0.6645072634471928 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0035.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
Loss: 0.40349545649119783 AUROC: 0.6994819262922407 AUPRC: 0.3373782229824426 Sensitivity: 0.6421052631578947 Specificity: 0.661744966442953 Threshold: 0.15 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.3967377655208111 AUROC: 0.7366405467175555 AUPRC: 0.3639719888385425 Sensitivity: 0.6798561151079137 Specificity: 0.6741784037558686 Threshold: 0.15 Accuracy: 0.6751079701609737 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0036.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.15it/s]
Loss: 0.41456747906548636 AUROC: 0.6984081007888849 AUPRC: 0.3379907655298725 Sensitivity: 0.656140350877193 Specificity: 0.6483221476510067 Threshold: 0.12 Accuracy: 0.6495774647887324 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.17it/s]
Loss: 0.4132086727768183 AUROC: 0.7318905439029059 AUPRC: 0.35636834616106555 Sensitivity: 0.6858513189448441 Specificity: 0.6570422535211268 Threshold: 0.12 Accuracy: 0.6617589320769532 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0037.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.41870054602622986 AUROC: 0.6992370187212998 AUPRC: 0.332275238579512 Sensitivity: 0.6807017543859649 Specificity: 0.6281879194630873 Threshold: 0.11 Accuracy: 0.6366197183098592 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.24it/s]
Loss: 0.4181537363678217 AUROC: 0.7345163305974938 AUPRC: 0.3613217860289409 Sensitivity: 0.6522781774580336 Specificity: 0.7 Threshold: 0.12 Accuracy: 0.6921868865331763 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0038.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.41063726586954935 AUROC: 0.6994042152360769 AUPRC: 0.3422481319891423 Sensitivity: 0.656140350877193 Specificity: 0.6510067114093959 Threshold: 0.12 Accuracy: 0.6518309859154929 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.06it/s]
Loss: 0.40884534642100334 AUROC: 0.7343139572848764 AUPRC: 0.36134753289448057 Sensitivity: 0.6930455635491607 Specificity: 0.6563380281690141 Threshold: 0.12 Accuracy: 0.6623478602277189 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0039.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.09it/s]
Loss: 0.405267066189221 AUROC: 0.6999458377487342 AUPRC: 0.33573092361220086 Sensitivity: 0.6526315789473685 Specificity: 0.6597315436241611 Threshold: 0.14 Accuracy: 0.6585915492957747 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.12it/s]
Loss: 0.3999785058200359 AUROC: 0.737406835095304 AUPRC: 0.3645236463607917 Sensitivity: 0.6822541966426858 Specificity: 0.6730046948356807 Threshold: 0.14 Accuracy: 0.6745190420102081 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0040.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.10it/s]
Loss: 0.40657074749469757 AUROC: 0.6987660426233367 AUPRC: 0.3380849110037342 Sensitivity: 0.6280701754385964 Specificity: 0.663758389261745 Threshold: 0.14 Accuracy: 0.6580281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.15it/s]
Loss: 0.4050603523850441 AUROC: 0.7336907938437982 AUPRC: 0.3607908053245576 Sensitivity: 0.6678657074340527 Specificity: 0.6828638497652583 Threshold: 0.14 Accuracy: 0.6804083235178642 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0041.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.4084265317235674 AUROC: 0.6993453432238314 AUPRC: 0.33236064527548703 Sensitivity: 0.631578947368421 Specificity: 0.6691275167785234 Threshold: 0.14 Accuracy: 0.6630985915492957 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.22it/s]
Loss: 0.4080931443721056 AUROC: 0.7369754900305108 AUPRC: 0.36149197383202114 Sensitivity: 0.6642685851318945 Specificity: 0.6882629107981221 Threshold: 0.14 Accuracy: 0.6843345111896348 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0042.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.17it/s]
Loss: 0.42735386746270315 AUROC: 0.6979818674202284 AUPRC: 0.3379217661304881 Sensitivity: 0.6280701754385964 Specificity: 0.6664429530201342 Threshold: 0.1 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.21it/s]
Loss: 0.42638014554977416 AUROC: 0.7326195381722791 AUPRC: 0.3601451190309899 Sensitivity: 0.658273381294964 Specificity: 0.686150234741784 Threshold: 0.1 Accuracy: 0.6815861798193954 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0043.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.04it/s]
Loss: 0.42393670763288227 AUROC: 0.6990239020369716 AUPRC: 0.3398198589812108 Sensitivity: 0.631578947368421 Specificity: 0.6657718120805369 Threshold: 0.1 Accuracy: 0.660281690140845 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.18it/s]
Loss: 0.42491584867238996 AUROC: 0.7337330135891288 AUPRC: 0.35671815320851946 Sensitivity: 0.6654676258992805 Specificity: 0.6866197183098591 Threshold: 0.1 Accuracy: 0.6831566548881036 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0044.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.18it/s]
Loss: 0.4064607790538243 AUROC: 0.6992817614506064 AUPRC: 0.3391741996489301 Sensitivity: 0.6526315789473685 Specificity: 0.6409395973154363 Threshold: 0.17 Accuracy: 0.6428169014084507 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.20it/s]
Loss: 0.40210493803024294 AUROC: 0.7364385956023913 AUPRC: 0.3639190338707685 Sensitivity: 0.6966426858513189 Specificity: 0.6528169014084507 Threshold: 0.17 Accuracy: 0.6599921476246564 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0045.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.10it/s]
Loss: 0.4132405753646578 AUROC: 0.6985022960084777 AUPRC: 0.33034599508704965 Sensitivity: 0.6666666666666666 Specificity: 0.6322147651006711 Threshold: 0.12 Accuracy: 0.6377464788732394 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.19it/s]
Loss: 0.41381835006177425 AUROC: 0.7356345909188142 AUPRC: 0.36042744231377494 Sensitivity: 0.7026378896882494 Specificity: 0.6394366197183099 Threshold: 0.12 Accuracy: 0.6497840596780526 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0046.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.21it/s]
Loss: 0.40858319827488493 AUROC: 0.6985964912280702 AUPRC: 0.33339680799156435 Sensitivity: 0.6631578947368421 Specificity: 0.6369127516778523 Threshold: 0.15 Accuracy: 0.6411267605633802 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:17<00:00, 2.29it/s]
Loss: 0.4071635276079178 AUROC: 0.734566853559406 AUPRC: 0.36220283439200096 Sensitivity: 0.6990407673860911 Specificity: 0.647887323943662 Threshold: 0.15 Accuracy: 0.6562622693364742 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0047.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.24it/s]
Loss: 0.4073611434016909 AUROC: 0.6985258448133757 AUPRC: 0.33171616994438924 Sensitivity: 0.656140350877193 Specificity: 0.6456375838926175 Threshold: 0.17 Accuracy: 0.6473239436619719 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.17it/s]
Loss: 0.4004960983991623 AUROC: 0.7366433613672442 AUPRC: 0.3639421296085973 Sensitivity: 0.6798561151079137 Specificity: 0.6645539906103286 Threshold: 0.17 Accuracy: 0.6670592854338437 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0048.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.20it/s]
Loss: 0.4199491058077131 AUROC: 0.6996785588131403 AUPRC: 0.3388700372511933 Sensitivity: 0.6280701754385964 Specificity: 0.6859060402684564 Threshold: 0.11 Accuracy: 0.6766197183098591 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.42025828547775745 AUROC: 0.7346815505342205 AUPRC: 0.3615941656633014 Sensitivity: 0.6414868105515588 Specificity: 0.7061032863849765 Threshold: 0.11 Accuracy: 0.6955241460541813 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0049.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.19it/s]
Loss: 0.41322736016341616 AUROC: 0.6989450135405628 AUPRC: 0.3340481131094881 Sensitivity: 0.631578947368421 Specificity: 0.6758389261744966 Threshold: 0.12 Accuracy: 0.6687323943661971 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.410320008918643 AUROC: 0.7344926875401088 AUPRC: 0.3605098826281311 Sensitivity: 0.6558752997601919 Specificity: 0.6946009389671362 Threshold: 0.12 Accuracy: 0.6882606988614056 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0050.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:07<00:00, 1.98it/s]
Loss: 0.41445990971156527 AUROC: 0.699375956670199 AUPRC: 0.34650913921349624 Sensitivity: 0.656140350877193 Specificity: 0.6389261744966444 Threshold: 0.11 Accuracy: 0.6416901408450705 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.06it/s]
Loss: 0.413426436856389 AUROC: 0.7341051102779748 AUPRC: 0.36101408759851356 Sensitivity: 0.6906474820143885 Specificity: 0.6610328638497652 Threshold: 0.11 Accuracy: 0.6658814291323125 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0051.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.16it/s]
Loss: 0.40671741323811667 AUROC: 0.6986059107500294 AUPRC: 0.3365021012754904 Sensitivity: 0.6210526315789474 Specificity: 0.6731543624161074 Threshold: 0.17 Accuracy: 0.6647887323943662 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.03it/s]
Loss: 0.40343266949057577 AUROC: 0.7352776933382872 AUPRC: 0.36338610839570673 Sensitivity: 0.6486810551558753 Specificity: 0.6948356807511737 Threshold: 0.17 Accuracy: 0.6872791519434629 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0052.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.14it/s]
Loss: 0.41485537375722614 AUROC: 0.6993029553750147 AUPRC: 0.33858577828884634 Sensitivity: 0.631578947368421 Specificity: 0.6644295302013423 Threshold: 0.12 Accuracy: 0.6591549295774648 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.05it/s]
Loss: 0.4138030920177698 AUROC: 0.7370658402855181 AUPRC: 0.3628426787274585 Sensitivity: 0.6798561151079137 Specificity: 0.6769953051643193 Threshold: 0.12 Accuracy: 0.6774636827640361 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0053.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.04it/s]
Loss: 0.4056778975895473 AUROC: 0.6985964912280702 AUPRC: 0.3368186206729994 Sensitivity: 0.6350877192982456 Specificity: 0.6610738255033557 Threshold: 0.17 Accuracy: 0.6569014084507042 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.07it/s]
Loss: 0.39611935913562774 AUROC: 0.7373761554136973 AUPRC: 0.36280809119633567 Sensitivity: 0.6630695443645084 Specificity: 0.6800469483568075 Threshold: 0.17 Accuracy: 0.6772673733804476 Intermediate Model: ./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0054.model AUROC/AUPRC on Validation Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14/14 [00:06<00:00, 2.12it/s]
Loss: 0.4181559000696455 AUROC: 0.6980996114447191 AUPRC: 0.3423118359779546 Sensitivity: 0.6771929824561403 Specificity: 0.6181208053691275 Threshold: 0.11 Accuracy: 0.6276056338028169 AUROC/AUPRC on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:19<00:00, 2.09it/s]
Loss: 0.4183577161282301 AUROC: 0.7325376318663379 AUPRC: 0.3582945796535063 Sensitivity: 0.7026378896882494 Specificity: 0.6366197183098592 Threshold: 0.11 Accuracy: 0.6474283470749902 Plot AUROC/AUPRC for Each Intermediate Model Epoch with best Validation Loss: 34, 0.4038 Epoch with best model Test AUROC: 39, 0.7374 Epoch with best model Test Accuracy: 17, 0.6973
AUROC/AUPRC Plots - Best Model Based on Validation Loss
Epoch with best Validation Loss: 34, 0.4038
Best Model Based on Validation Loss:
./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0034.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.16it/s]
Loss: 0.3993221387267113 AUROC: 0.7344424460431654 AUPRC: 0.362408940255712 Sensitivity: 0.6906474820143885 Specificity: 0.6593896713615024 Threshold: 0.15 Accuracy: 0.6645072634471928
<Figure size 640x480 with 0 Axes>
best_model_val_test_auroc: 0.7344424460431654
best_model_val_test_auprc: 0.362408940255712
AUROC/AUPRC Plots - Best Model Based on Model AUROC
Epoch with best model Test AUROC: 39, 0.7374
Best Model Based on Model AUROC:
./vitaldb_cache/models/ABP_EEG_ECG_12_RESIDUAL_BLOCKS_128_BATCH_SIZE_1e-04_LEARNING_RATE_1e-01_WEIGHT_DECAY_015_MINS__ALL_MAX_CASES_10e6e48b_0039.model
Generate Stats Based on Test Data
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:18<00:00, 2.13it/s]
Loss: 0.3999785058200359 AUROC: 0.737406835095304 AUPRC: 0.3645236463607917 Sensitivity: 0.6822541966426858 Specificity: 0.6730046948356807 Threshold: 0.14 Accuracy: 0.6745190420102081
best_model_auroc_test_auroc: 0.737406835095304
best_model_auroc_test_auprc: 0.3645236463607917 Total Processing Time: 4840.2950 sec
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=16,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=32,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=64,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-2,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-3,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=128,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=False,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
RUN_ME = False
if MULTI_RUN and RUN_ME:
run_experiment(
experimentNamePrefix=None,
useAbp=True,
useEeg=False,
useEcg=False,
nResiduals=12,
skip_connection=False,
batch_size=64,
learning_rate=1e-4,
weight_decay=0.0,
balance_labels=True,
#pos_weight=2.0,
pos_weight=None,
max_epochs=200,
patience=20,
device=device
)
When we complete our experiments, we will build comparison tables that compare a set of measures for each experiment performed. The full set of experiments and measures are listed below.
Note: each experiment will be repeated with the following time-to-IOH-event durations:
Note: the above list of experiments will be performed if there is sufficient time and gpu capability to complete that before the submission deadline. Should we experience any constraints on this front, we will reduce our experimental coverage to the following 4 core experiments that are necessary to measure the hypotheses included at the head of this report:
For additional details please review the "Planned Actions" in the Discussion section of this report.
[ TODO for final report - collect data for all measures listed above. ]
[ TODO for final report - generate ROC and PRC plots for each experiment ]
We are collecting a broad set of measures across each experiment in order to perform a comprehensive comparison of all measures listed across all comparable experiments executed in the original paper. However, our key experimental results will be focused on a subset of these results that address the main experiments defined at the beginning of this notebook.
The key experimental result measures will be as follows:
The following table is Table 3 from the original paper which presents the measured values for each signal combination across each of the four temporal predictive categories:
We have not yet completed the execution of the experiments necessary to determine our reproduced model performance in order determine whether our results are accurately representing those of the original paper. These details are expected to be included in the final report.
As of the draft submission, the reported evaluation measures of our model are too good to be true (all measures are 1.0). We suspect that there is data leakage in the dataset splitting process and will address this in time for the final report.
Our assessment is that this paper will be reproducible. The outstanding risk is that each experiment can take up to 7 hours to run on hardware within the team (i.e., 7h to run ~70 epochs on a desktop with AMD Ryzen 7 3800X 8-core CPU w/ RTX 2070 SUPER GPU and 32GB RAM). There are a total of 28 experiments (7 different combinations of signal inputs, 4 different time horizons for each combination). Should our team find it not possible to complete the necessary experiments across all of the experiments represented in Table 3 of our selected paper, we will reduce the number of experiments to focus solely on the ones directly related to our hypotheses described in the beginning of this notebook (i.e., reduce the number of combinations of interest to 4: ABP alone, ABP+EEG, ABP+ECG, ABP+ECG+EEG). This will result in a new total of 16 experiments to run.
Our proposal included a collection of potential ablations to be investigated:
Given the amount of time required to conduct each experiment, our team intends to choose only a small number of ablations from this set. Further, we only intend to perform ablation analysis against the best performing signal combination and time horizon from the reproduction experiments. In order words, we intend to perform ablation analysis against the following training combinations, and only against the models trained with data measured 3 minutes prior to an IOH event:
Time and GPU resource permitting, we will complete a broader range of experiments. For additional details, please see the section below titled "Plans for next phase".
Our team intends to address the manner in which the experimental results align with the published results in the paper in the final submission of this report. The amount of time required to complete model training and result analysis during the preparation of the Draft notebook was not sufficient to complete a large number of experiments.
The difficult aspect of the preparation of this draft involved the data preprocessing.
The most notable suggestion would be to correct the hyperparameters published in Supplemental Table 1. Specifically, the output size for residual blocks 11 and 12 for the ECG and ABP data sets was 496x6. This is a typo, and should read 469x6. This typo became apparent when operating the size down operation within Residual Block 11 and recognizing the tensor dimensions were misaligned.
Additionally, more explicit references to the signal quality index assessment tools should be added. Our team could not find a reference to the MATLAB source code as described in reference [3], and had to manually discover the GitHub profile for the lab of the corresponding author of reference [3] in order to find MATLAB source that corresponded to the metrics described therein.
Our team plans to accomplish the following goals in service of preparing the Final Report:
Walkthrough of the notebook, no need to make slides. We expect a well-timed, well-presented presentation. You should clearly explain what the original paper is about (what the general problem is, what the specific approach taken was, and what the results claimed were) and what you encountered when you attempted to reproduce the results. You should use the time given to you and not too much (or too little).
print(f'All done!')
All done!